YES 169.48 H-Termination proof of /home/matraf/haskell/eval_FullyBlown_Fast/List.hs
H-Termination of the given Haskell-Program with start terms could successfully be proven:



HASKELL
  ↳ LR

mainModule List
  ((group :: [Ratio Int ->  [[Ratio Int]]) :: [Ratio Int ->  [[Ratio Int]])

module List where
  import qualified Maybe
import qualified Prelude

  group :: Eq a => [a ->  [[a]]
group groupBy (==)

  groupBy :: (a  ->  a  ->  Bool ->  [a ->  [[a]]
groupBy [] []
groupBy eq (x : xs
(x : ys: groupBy eq zs where 
vv10 span (eq x) xs
ys (\(ys,_) ->ys) vv10
zs (\(_,zs) ->zs) vv10


module Maybe where
  import qualified List
import qualified Prelude



Lambda Reductions:
The following Lambda expression
\(_,zs)→zs

is transformed to
zs0 (_,zs) = zs

The following Lambda expression
\(ys,_)→ys

is transformed to
ys0 (ys,_) = ys

The following Lambda expression
\(_,zs)→zs

is transformed to
zs1 (_,zs) = zs

The following Lambda expression
\(ys,_)→ys

is transformed to
ys1 (ys,_) = ys



↳ HASKELL
  ↳ LR
HASKELL
      ↳ BR

mainModule List
  ((group :: [Ratio Int ->  [[Ratio Int]]) :: [Ratio Int ->  [[Ratio Int]])

module List where
  import qualified Maybe
import qualified Prelude

  group :: Eq a => [a ->  [[a]]
group groupBy (==)

  groupBy :: (a  ->  a  ->  Bool ->  [a ->  [[a]]
groupBy [] []
groupBy eq (x : xs
(x : ys: groupBy eq zs where 
vv10 span (eq x) xs
ys ys0 vv10
ys0 (ys,_) ys
zs zs0 vv10
zs0 (_,zszs


module Maybe where
  import qualified List
import qualified Prelude



Replaced joker patterns by fresh variables and removed binding patterns.
Binding Reductions:
The bind variable of the following binding Pattern
xs@(ww : wx)

is replaced by the following term
ww : wx



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ BR
HASKELL
          ↳ COR

mainModule List
  ((group :: [Ratio Int ->  [[Ratio Int]]) :: [Ratio Int ->  [[Ratio Int]])

module List where
  import qualified Maybe
import qualified Prelude

  group :: Eq a => [a ->  [[a]]
group groupBy (==)

  groupBy :: (a  ->  a  ->  Bool ->  [a ->  [[a]]
groupBy vw [] []
groupBy eq (x : xs
(x : ys: groupBy eq zs where 
vv10 span (eq x) xs
ys ys0 vv10
ys0 (ys,vxys
zs zs0 vv10
zs0 (vy,zszs


module Maybe where
  import qualified List
import qualified Prelude



Cond Reductions:
The following Function with conditions
undefined 
 | False
 = undefined

is transformed to
undefined  = undefined1

undefined0 True = undefined

undefined1  = undefined0 False

The following Function with conditions
span p [] = ([],[])
span p (ww : wx)
 | p ww
 = (ww : ys,zs)
 | otherwise
 = ([],ww : wx)
where 
vu43  = span p wx
ys  = ys1 vu43
ys1 (ys,wz) = ys
zs  = zs1 vu43
zs1 (wy,zs) = zs

is transformed to
span p [] = span3 p []
span p (ww : wx) = span2 p (ww : wx)

span2 p (ww : wx) = 
span1 p ww wx (p ww)
where 
span0 p ww wx True = ([],ww : wx)
span1 p ww wx True = (ww : ys,zs)
span1 p ww wx False = span0 p ww wx otherwise
vu43  = span p wx
ys  = ys1 vu43
ys1 (ys,wz) = ys
zs  = zs1 vu43
zs1 (wy,zs) = zs

span3 p [] = ([],[])
span3 xx xy = span2 xx xy



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
HASKELL
              ↳ LetRed

mainModule List
  ((group :: [Ratio Int ->  [[Ratio Int]]) :: [Ratio Int ->  [[Ratio Int]])

module List where
  import qualified Maybe
import qualified Prelude

  group :: Eq a => [a ->  [[a]]
group groupBy (==)

  groupBy :: (a  ->  a  ->  Bool ->  [a ->  [[a]]
groupBy vw [] []
groupBy eq (x : xs
(x : ys: groupBy eq zs where 
vv10 span (eq x) xs
ys ys0 vv10
ys0 (ys,vxys
zs zs0 vv10
zs0 (vy,zszs


module Maybe where
  import qualified List
import qualified Prelude



Let/Where Reductions:
The bindings of the following Let/Where expression
(x : ys: groupBy eq zs
where 
vv10  = span (eq xxs
ys  = ys0 vv10
ys0 (ys,vx) = ys
zs  = zs0 vv10
zs0 (vy,zs) = zs

are unpacked to the following functions on top level
groupByVv10 xz yu yv = span (xz yuyv

groupByYs xz yu yv = groupByYs0 xz yu yv (groupByVv10 xz yu yv)

groupByZs0 xz yu yv (vy,zs) = zs

groupByZs xz yu yv = groupByZs0 xz yu yv (groupByVv10 xz yu yv)

groupByYs0 xz yu yv (ys,vx) = ys

The bindings of the following Let/Where expression
span1 p ww wx (p ww)
where 
span0 p ww wx True = ([],ww : wx)
span1 p ww wx True = (ww : ys,zs)
span1 p ww wx False = span0 p ww wx otherwise
vu43  = span p wx
ys  = ys1 vu43
ys1 (ys,wz) = ys
zs  = zs1 vu43
zs1 (wy,zs) = zs

are unpacked to the following functions on top level
span2Span1 yw yx p ww wx True = (ww : span2Ys yw yx,span2Zs yw yx)
span2Span1 yw yx p ww wx False = span2Span0 yw yx p ww wx otherwise

span2Ys yw yx = span2Ys1 yw yx (span2Vu43 yw yx)

span2Vu43 yw yx = span yw yx

span2Ys1 yw yx (ys,wz) = ys

span2Zs yw yx = span2Zs1 yw yx (span2Vu43 yw yx)

span2Span0 yw yx p ww wx True = ([],ww : wx)

span2Zs1 yw yx (wy,zs) = zs



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
HASKELL
                  ↳ Narrow

mainModule List
  (group :: [Ratio Int ->  [[Ratio Int]])

module List where
  import qualified Maybe
import qualified Prelude

  group :: Eq a => [a ->  [[a]]
group groupBy (==)

  groupBy :: (a  ->  a  ->  Bool ->  [a ->  [[a]]
groupBy vw [] []
groupBy eq (x : xs(x : groupByYs eq x xs: groupBy eq (groupByZs eq x xs)

  
groupByVv10 xz yu yv span (xz yu) yv

  
groupByYs xz yu yv groupByYs0 xz yu yv (groupByVv10 xz yu yv)

  
groupByYs0 xz yu yv (ys,vxys

  
groupByZs xz yu yv groupByZs0 xz yu yv (groupByVv10 xz yu yv)

  
groupByZs0 xz yu yv (vy,zszs


module Maybe where
  import qualified List
import qualified Prelude



Haskell To QDPs


↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
QDP
                        ↳ QDPSizeChangeProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primEqNat(Succ(yy81000), Succ(yy91000)) → new_primEqNat(yy81000, yy91000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
QDP
                        ↳ QDPSizeChangeProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_asAs(Succ(yy80000), Succ(yy90000), yy81, yy91) → new_asAs(yy80000, yy90000, yy81, yy91)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
QDP
                        ↳ UsableRulesProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_span2Ys1(yy3110, yy3111, True) → new_span2Ys(yy3111)
new_span2Zs1(yy3110, yy3111, True) → new_span2Ys(yy3111)
new_span2Ys(:(yy3110, yy3111)) → new_span2Ys1(yy3110, yy3111, new_esEs(:%(Neg(Zero), Neg(Zero)), yy3110))
new_span2Ys1(yy3110, yy3111, True) → new_span2Zs(yy3111)
new_span2Zs(:(yy3110, yy3111)) → new_span2Zs1(yy3110, yy3111, new_esEs(:%(Neg(Zero), Neg(Zero)), yy3110))
new_span2Zs1(yy3110, yy3111, True) → new_span2Zs(yy3111)

The TRS R consists of the following rules:

new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Neg(yy900), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Pos(yy900), yy91)) → new_asAs1(yy81, yy91)
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(yy81000), Succ(yy91000)) → new_primEqNat0(yy81000, yy91000)
new_asAs2(Pos(Succ(yy8100)), Pos(Zero)) → False
new_asAs2(Pos(Zero), Pos(Succ(yy9100))) → False
new_asAs0(Succ(yy80000), Succ(yy90000), yy81, yy91) → new_asAs0(yy80000, yy90000, yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_asAs2(Neg(Succ(yy8100)), Neg(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_primEqNat0(Zero, Succ(yy91000)) → False
new_primEqNat0(Succ(yy81000), Zero) → False
new_asAs2(Neg(Zero), Neg(Zero)) → True
new_asAs2(Pos(Succ(yy8100)), Neg(yy910)) → False
new_asAs2(Neg(Succ(yy8100)), Pos(yy910)) → False
new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Pos(Zero), yy91)) → new_asAs1(yy81, yy91)
new_asAs1(yy81, yy91) → False
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs0(yy8000, yy9000, yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_asAs0(Succ(yy80000), Zero, yy81, yy91) → new_asAs1(yy81, yy91)
new_asAs0(Zero, Succ(yy90000), yy81, yy91) → new_asAs1(yy81, yy91)
new_asAs2(Neg(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Zero)) → False
new_esEs(:%(Pos(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_asAs2(Neg(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Pos(Zero), Neg(Succ(yy9100))) → False
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Neg(Zero), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs0(yy8000, yy9000, yy81, yy91)
new_asAs2(Pos(Succ(yy8100)), Pos(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Pos(Zero), Pos(Zero)) → True
new_asAs2(Neg(Zero), Pos(Zero)) → True
new_asAs2(Pos(Zero), Neg(Zero)) → True
new_asAs0(Zero, Zero, yy81, yy91) → new_asAs2(yy81, yy91)

The set Q consists of the following terms:

new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Succ(x2)), x3))
new_primEqNat0(Succ(x0), Zero)
new_asAs2(Neg(Succ(x0)), Pos(x1))
new_asAs2(Pos(Succ(x0)), Neg(x1))
new_asAs0(Zero, Succ(x0), x1, x2)
new_esEs(:%(Neg(Zero), x0), :%(Neg(Zero), x1))
new_asAs2(Pos(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Zero), x2))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Succ(x2)), x3))
new_asAs2(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs(:%(Neg(Zero), x0), :%(Neg(Succ(x1)), x2))
new_asAs2(Pos(Succ(x0)), Pos(Zero))
new_primEqNat0(Zero, Zero)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Succ(x1), x2, x3)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Zero), x1))
new_asAs2(Neg(Zero), Neg(Succ(x0)))
new_primEqNat0(Zero, Succ(x0))
new_asAs2(Neg(Zero), Pos(Zero))
new_asAs2(Pos(Zero), Neg(Zero))
new_asAs2(Neg(Succ(x0)), Neg(Zero))
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Zero), x2))
new_asAs2(Pos(Zero), Pos(Zero))
new_esEs(:%(Pos(Zero), x0), :%(Neg(Zero), x1))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Zero), x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Neg(x2), x3))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Pos(x2), x3))
new_asAs2(Neg(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Zero), Neg(Succ(x0)))
new_asAs2(Neg(Zero), Neg(Zero))
new_asAs1(x0, x1)
new_esEs(:%(Pos(Zero), x0), :%(Neg(Succ(x1)), x2))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Zero, x1, x2)
new_asAs0(Zero, Zero, x0, x1)

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                        ↳ UsableRulesProof
QDP
                            ↳ QReductionProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_span2Ys1(yy3110, yy3111, True) → new_span2Ys(yy3111)
new_span2Zs1(yy3110, yy3111, True) → new_span2Ys(yy3111)
new_span2Ys(:(yy3110, yy3111)) → new_span2Ys1(yy3110, yy3111, new_esEs(:%(Neg(Zero), Neg(Zero)), yy3110))
new_span2Ys1(yy3110, yy3111, True) → new_span2Zs(yy3111)
new_span2Zs(:(yy3110, yy3111)) → new_span2Zs1(yy3110, yy3111, new_esEs(:%(Neg(Zero), Neg(Zero)), yy3110))
new_span2Zs1(yy3110, yy3111, True) → new_span2Zs(yy3111)

The TRS R consists of the following rules:

new_esEs(:%(Neg(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_asAs1(yy81, yy91) → False
new_asAs2(Pos(Succ(yy8100)), Pos(Zero)) → False
new_asAs2(Pos(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Neg(Zero), Neg(Zero)) → True
new_asAs2(Pos(Succ(yy8100)), Neg(yy910)) → False
new_asAs2(Neg(Succ(yy8100)), Pos(yy910)) → False
new_asAs2(Neg(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Zero)) → False
new_asAs2(Neg(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Pos(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Pos(Succ(yy8100)), Pos(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Pos(Zero), Pos(Zero)) → True
new_asAs2(Neg(Zero), Pos(Zero)) → True
new_asAs2(Pos(Zero), Neg(Zero)) → True
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(yy81000), Succ(yy91000)) → new_primEqNat0(yy81000, yy91000)
new_primEqNat0(Zero, Succ(yy91000)) → False
new_primEqNat0(Succ(yy81000), Zero) → False

The set Q consists of the following terms:

new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Succ(x2)), x3))
new_primEqNat0(Succ(x0), Zero)
new_asAs2(Neg(Succ(x0)), Pos(x1))
new_asAs2(Pos(Succ(x0)), Neg(x1))
new_asAs0(Zero, Succ(x0), x1, x2)
new_esEs(:%(Neg(Zero), x0), :%(Neg(Zero), x1))
new_asAs2(Pos(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Zero), x2))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Succ(x2)), x3))
new_asAs2(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs(:%(Neg(Zero), x0), :%(Neg(Succ(x1)), x2))
new_asAs2(Pos(Succ(x0)), Pos(Zero))
new_primEqNat0(Zero, Zero)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Succ(x1), x2, x3)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Zero), x1))
new_asAs2(Neg(Zero), Neg(Succ(x0)))
new_primEqNat0(Zero, Succ(x0))
new_asAs2(Neg(Zero), Pos(Zero))
new_asAs2(Pos(Zero), Neg(Zero))
new_asAs2(Neg(Succ(x0)), Neg(Zero))
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Zero), x2))
new_asAs2(Pos(Zero), Pos(Zero))
new_esEs(:%(Pos(Zero), x0), :%(Neg(Zero), x1))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Zero), x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Neg(x2), x3))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Pos(x2), x3))
new_asAs2(Neg(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Zero), Neg(Succ(x0)))
new_asAs2(Neg(Zero), Neg(Zero))
new_asAs1(x0, x1)
new_esEs(:%(Pos(Zero), x0), :%(Neg(Succ(x1)), x2))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Zero, x1, x2)
new_asAs0(Zero, Zero, x0, x1)

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

new_asAs0(Zero, Succ(x0), x1, x2)
new_asAs0(Succ(x0), Succ(x1), x2, x3)
new_asAs0(Succ(x0), Zero, x1, x2)
new_asAs0(Zero, Zero, x0, x1)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                        ↳ UsableRulesProof
                          ↳ QDP
                            ↳ QReductionProof
QDP
                                ↳ QDPSizeChangeProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_span2Ys1(yy3110, yy3111, True) → new_span2Ys(yy3111)
new_span2Zs1(yy3110, yy3111, True) → new_span2Ys(yy3111)
new_span2Ys(:(yy3110, yy3111)) → new_span2Ys1(yy3110, yy3111, new_esEs(:%(Neg(Zero), Neg(Zero)), yy3110))
new_span2Ys1(yy3110, yy3111, True) → new_span2Zs(yy3111)
new_span2Zs(:(yy3110, yy3111)) → new_span2Zs1(yy3110, yy3111, new_esEs(:%(Neg(Zero), Neg(Zero)), yy3110))
new_span2Zs1(yy3110, yy3111, True) → new_span2Zs(yy3111)

The TRS R consists of the following rules:

new_esEs(:%(Neg(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_asAs1(yy81, yy91) → False
new_asAs2(Pos(Succ(yy8100)), Pos(Zero)) → False
new_asAs2(Pos(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Neg(Zero), Neg(Zero)) → True
new_asAs2(Pos(Succ(yy8100)), Neg(yy910)) → False
new_asAs2(Neg(Succ(yy8100)), Pos(yy910)) → False
new_asAs2(Neg(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Zero)) → False
new_asAs2(Neg(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Pos(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Pos(Succ(yy8100)), Pos(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Pos(Zero), Pos(Zero)) → True
new_asAs2(Neg(Zero), Pos(Zero)) → True
new_asAs2(Pos(Zero), Neg(Zero)) → True
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(yy81000), Succ(yy91000)) → new_primEqNat0(yy81000, yy91000)
new_primEqNat0(Zero, Succ(yy91000)) → False
new_primEqNat0(Succ(yy81000), Zero) → False

The set Q consists of the following terms:

new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Succ(x2)), x3))
new_primEqNat0(Succ(x0), Zero)
new_asAs2(Neg(Succ(x0)), Pos(x1))
new_asAs2(Pos(Succ(x0)), Neg(x1))
new_esEs(:%(Neg(Zero), x0), :%(Neg(Zero), x1))
new_asAs2(Pos(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Zero), x2))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Succ(x2)), x3))
new_asAs2(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs(:%(Neg(Zero), x0), :%(Neg(Succ(x1)), x2))
new_asAs2(Pos(Succ(x0)), Pos(Zero))
new_primEqNat0(Zero, Zero)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Succ(x1)), x2))
new_esEs(:%(Pos(Zero), x0), :%(Pos(Zero), x1))
new_asAs2(Neg(Zero), Neg(Succ(x0)))
new_primEqNat0(Zero, Succ(x0))
new_asAs2(Neg(Zero), Pos(Zero))
new_asAs2(Pos(Zero), Neg(Zero))
new_asAs2(Neg(Succ(x0)), Neg(Zero))
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Zero), x2))
new_asAs2(Pos(Zero), Pos(Zero))
new_esEs(:%(Pos(Zero), x0), :%(Neg(Zero), x1))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Zero), x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Neg(x2), x3))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Pos(x2), x3))
new_asAs2(Neg(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Zero), Neg(Succ(x0)))
new_asAs2(Neg(Zero), Neg(Zero))
new_asAs1(x0, x1)
new_esEs(:%(Pos(Zero), x0), :%(Neg(Succ(x1)), x2))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Succ(x1)), x2))

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
QDP
                        ↳ UsableRulesProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_span2Zs10(yy766, yy7670, yy7671, True) → new_span2Ys0(yy766, yy7671)
new_span2Zs0(yy766, :(yy7670, yy7671)) → new_span2Zs10(yy766, yy7670, yy7671, new_esEs(:%(Neg(Zero), Neg(Succ(yy766))), yy7670))
new_span2Ys0(yy658, :(yy6590, yy6591)) → new_span2Ys10(yy658, yy6590, yy6591, new_esEs(:%(Neg(Zero), Neg(Succ(yy658))), yy6590))
new_span2Ys10(yy658, yy6590, yy6591, True) → new_span2Zs0(yy658, yy6591)
new_span2Zs10(yy766, yy7670, yy7671, True) → new_span2Zs0(yy766, yy7671)
new_span2Ys10(yy658, yy6590, yy6591, True) → new_span2Ys0(yy658, yy6591)

The TRS R consists of the following rules:

new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Neg(yy900), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Pos(yy900), yy91)) → new_asAs1(yy81, yy91)
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(yy81000), Succ(yy91000)) → new_primEqNat0(yy81000, yy91000)
new_asAs2(Pos(Succ(yy8100)), Pos(Zero)) → False
new_asAs2(Pos(Zero), Pos(Succ(yy9100))) → False
new_asAs0(Succ(yy80000), Succ(yy90000), yy81, yy91) → new_asAs0(yy80000, yy90000, yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_asAs2(Neg(Succ(yy8100)), Neg(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_primEqNat0(Zero, Succ(yy91000)) → False
new_primEqNat0(Succ(yy81000), Zero) → False
new_asAs2(Neg(Zero), Neg(Zero)) → True
new_asAs2(Pos(Succ(yy8100)), Neg(yy910)) → False
new_asAs2(Neg(Succ(yy8100)), Pos(yy910)) → False
new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Pos(Zero), yy91)) → new_asAs1(yy81, yy91)
new_asAs1(yy81, yy91) → False
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs0(yy8000, yy9000, yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_asAs0(Succ(yy80000), Zero, yy81, yy91) → new_asAs1(yy81, yy91)
new_asAs0(Zero, Succ(yy90000), yy81, yy91) → new_asAs1(yy81, yy91)
new_asAs2(Neg(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Zero)) → False
new_esEs(:%(Pos(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_asAs2(Neg(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Pos(Zero), Neg(Succ(yy9100))) → False
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Neg(Zero), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs0(yy8000, yy9000, yy81, yy91)
new_asAs2(Pos(Succ(yy8100)), Pos(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Pos(Zero), Pos(Zero)) → True
new_asAs2(Neg(Zero), Pos(Zero)) → True
new_asAs2(Pos(Zero), Neg(Zero)) → True
new_asAs0(Zero, Zero, yy81, yy91) → new_asAs2(yy81, yy91)

The set Q consists of the following terms:

new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Succ(x2)), x3))
new_primEqNat0(Succ(x0), Zero)
new_asAs2(Neg(Succ(x0)), Pos(x1))
new_asAs2(Pos(Succ(x0)), Neg(x1))
new_asAs0(Zero, Succ(x0), x1, x2)
new_esEs(:%(Neg(Zero), x0), :%(Neg(Zero), x1))
new_asAs2(Pos(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Zero), x2))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Succ(x2)), x3))
new_asAs2(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs(:%(Neg(Zero), x0), :%(Neg(Succ(x1)), x2))
new_asAs2(Pos(Succ(x0)), Pos(Zero))
new_primEqNat0(Zero, Zero)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Succ(x1), x2, x3)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Zero), x1))
new_asAs2(Neg(Zero), Neg(Succ(x0)))
new_primEqNat0(Zero, Succ(x0))
new_asAs2(Neg(Zero), Pos(Zero))
new_asAs2(Pos(Zero), Neg(Zero))
new_asAs2(Neg(Succ(x0)), Neg(Zero))
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Zero), x2))
new_asAs2(Pos(Zero), Pos(Zero))
new_esEs(:%(Pos(Zero), x0), :%(Neg(Zero), x1))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Zero), x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Neg(x2), x3))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Pos(x2), x3))
new_asAs2(Neg(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Zero), Neg(Succ(x0)))
new_asAs2(Neg(Zero), Neg(Zero))
new_asAs1(x0, x1)
new_esEs(:%(Pos(Zero), x0), :%(Neg(Succ(x1)), x2))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Zero, x1, x2)
new_asAs0(Zero, Zero, x0, x1)

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                        ↳ UsableRulesProof
QDP
                            ↳ QReductionProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_span2Zs10(yy766, yy7670, yy7671, True) → new_span2Ys0(yy766, yy7671)
new_span2Zs0(yy766, :(yy7670, yy7671)) → new_span2Zs10(yy766, yy7670, yy7671, new_esEs(:%(Neg(Zero), Neg(Succ(yy766))), yy7670))
new_span2Ys0(yy658, :(yy6590, yy6591)) → new_span2Ys10(yy658, yy6590, yy6591, new_esEs(:%(Neg(Zero), Neg(Succ(yy658))), yy6590))
new_span2Ys10(yy658, yy6590, yy6591, True) → new_span2Zs0(yy658, yy6591)
new_span2Zs10(yy766, yy7670, yy7671, True) → new_span2Zs0(yy766, yy7671)
new_span2Ys10(yy658, yy6590, yy6591, True) → new_span2Ys0(yy658, yy6591)

The TRS R consists of the following rules:

new_esEs(:%(Neg(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_asAs1(yy81, yy91) → False
new_asAs2(Pos(Succ(yy8100)), Pos(Zero)) → False
new_asAs2(Pos(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Neg(Zero), Neg(Zero)) → True
new_asAs2(Pos(Succ(yy8100)), Neg(yy910)) → False
new_asAs2(Neg(Succ(yy8100)), Pos(yy910)) → False
new_asAs2(Neg(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Zero)) → False
new_asAs2(Neg(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Pos(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Pos(Succ(yy8100)), Pos(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Pos(Zero), Pos(Zero)) → True
new_asAs2(Neg(Zero), Pos(Zero)) → True
new_asAs2(Pos(Zero), Neg(Zero)) → True
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(yy81000), Succ(yy91000)) → new_primEqNat0(yy81000, yy91000)
new_primEqNat0(Zero, Succ(yy91000)) → False
new_primEqNat0(Succ(yy81000), Zero) → False

The set Q consists of the following terms:

new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Succ(x2)), x3))
new_primEqNat0(Succ(x0), Zero)
new_asAs2(Neg(Succ(x0)), Pos(x1))
new_asAs2(Pos(Succ(x0)), Neg(x1))
new_asAs0(Zero, Succ(x0), x1, x2)
new_esEs(:%(Neg(Zero), x0), :%(Neg(Zero), x1))
new_asAs2(Pos(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Zero), x2))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Succ(x2)), x3))
new_asAs2(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs(:%(Neg(Zero), x0), :%(Neg(Succ(x1)), x2))
new_asAs2(Pos(Succ(x0)), Pos(Zero))
new_primEqNat0(Zero, Zero)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Succ(x1), x2, x3)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Zero), x1))
new_asAs2(Neg(Zero), Neg(Succ(x0)))
new_primEqNat0(Zero, Succ(x0))
new_asAs2(Neg(Zero), Pos(Zero))
new_asAs2(Pos(Zero), Neg(Zero))
new_asAs2(Neg(Succ(x0)), Neg(Zero))
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Zero), x2))
new_asAs2(Pos(Zero), Pos(Zero))
new_esEs(:%(Pos(Zero), x0), :%(Neg(Zero), x1))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Zero), x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Neg(x2), x3))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Pos(x2), x3))
new_asAs2(Neg(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Zero), Neg(Succ(x0)))
new_asAs2(Neg(Zero), Neg(Zero))
new_asAs1(x0, x1)
new_esEs(:%(Pos(Zero), x0), :%(Neg(Succ(x1)), x2))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Zero, x1, x2)
new_asAs0(Zero, Zero, x0, x1)

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

new_asAs0(Zero, Succ(x0), x1, x2)
new_asAs0(Succ(x0), Succ(x1), x2, x3)
new_asAs0(Succ(x0), Zero, x1, x2)
new_asAs0(Zero, Zero, x0, x1)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                        ↳ UsableRulesProof
                          ↳ QDP
                            ↳ QReductionProof
QDP
                                ↳ QDPSizeChangeProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_span2Zs10(yy766, yy7670, yy7671, True) → new_span2Ys0(yy766, yy7671)
new_span2Zs0(yy766, :(yy7670, yy7671)) → new_span2Zs10(yy766, yy7670, yy7671, new_esEs(:%(Neg(Zero), Neg(Succ(yy766))), yy7670))
new_span2Ys0(yy658, :(yy6590, yy6591)) → new_span2Ys10(yy658, yy6590, yy6591, new_esEs(:%(Neg(Zero), Neg(Succ(yy658))), yy6590))
new_span2Ys10(yy658, yy6590, yy6591, True) → new_span2Zs0(yy658, yy6591)
new_span2Zs10(yy766, yy7670, yy7671, True) → new_span2Zs0(yy766, yy7671)
new_span2Ys10(yy658, yy6590, yy6591, True) → new_span2Ys0(yy658, yy6591)

The TRS R consists of the following rules:

new_esEs(:%(Neg(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_asAs1(yy81, yy91) → False
new_asAs2(Pos(Succ(yy8100)), Pos(Zero)) → False
new_asAs2(Pos(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Neg(Zero), Neg(Zero)) → True
new_asAs2(Pos(Succ(yy8100)), Neg(yy910)) → False
new_asAs2(Neg(Succ(yy8100)), Pos(yy910)) → False
new_asAs2(Neg(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Zero)) → False
new_asAs2(Neg(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Pos(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Pos(Succ(yy8100)), Pos(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Pos(Zero), Pos(Zero)) → True
new_asAs2(Neg(Zero), Pos(Zero)) → True
new_asAs2(Pos(Zero), Neg(Zero)) → True
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(yy81000), Succ(yy91000)) → new_primEqNat0(yy81000, yy91000)
new_primEqNat0(Zero, Succ(yy91000)) → False
new_primEqNat0(Succ(yy81000), Zero) → False

The set Q consists of the following terms:

new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Succ(x2)), x3))
new_primEqNat0(Succ(x0), Zero)
new_asAs2(Neg(Succ(x0)), Pos(x1))
new_asAs2(Pos(Succ(x0)), Neg(x1))
new_esEs(:%(Neg(Zero), x0), :%(Neg(Zero), x1))
new_asAs2(Pos(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Zero), x2))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Succ(x2)), x3))
new_asAs2(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs(:%(Neg(Zero), x0), :%(Neg(Succ(x1)), x2))
new_asAs2(Pos(Succ(x0)), Pos(Zero))
new_primEqNat0(Zero, Zero)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Succ(x1)), x2))
new_esEs(:%(Pos(Zero), x0), :%(Pos(Zero), x1))
new_asAs2(Neg(Zero), Neg(Succ(x0)))
new_primEqNat0(Zero, Succ(x0))
new_asAs2(Neg(Zero), Pos(Zero))
new_asAs2(Pos(Zero), Neg(Zero))
new_asAs2(Neg(Succ(x0)), Neg(Zero))
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Zero), x2))
new_asAs2(Pos(Zero), Pos(Zero))
new_esEs(:%(Pos(Zero), x0), :%(Neg(Zero), x1))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Zero), x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Neg(x2), x3))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Pos(x2), x3))
new_asAs2(Neg(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Zero), Neg(Succ(x0)))
new_asAs2(Neg(Zero), Neg(Zero))
new_asAs1(x0, x1)
new_esEs(:%(Pos(Zero), x0), :%(Neg(Succ(x1)), x2))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Succ(x1)), x2))

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
QDP
                        ↳ UsableRulesProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_span2Ys2(:(yy3110, yy3111)) → new_span2Ys11(yy3110, yy3111, new_esEs(:%(Neg(Zero), Pos(Zero)), yy3110))
new_span2Zs11(yy3110, yy3111, True) → new_span2Ys2(yy3111)
new_span2Zs11(yy3110, yy3111, True) → new_span2Zs2(yy3111)
new_span2Ys11(yy3110, yy3111, True) → new_span2Zs2(yy3111)
new_span2Ys11(yy3110, yy3111, True) → new_span2Ys2(yy3111)
new_span2Zs2(:(yy3110, yy3111)) → new_span2Zs11(yy3110, yy3111, new_esEs(:%(Neg(Zero), Pos(Zero)), yy3110))

The TRS R consists of the following rules:

new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Neg(yy900), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Pos(yy900), yy91)) → new_asAs1(yy81, yy91)
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(yy81000), Succ(yy91000)) → new_primEqNat0(yy81000, yy91000)
new_asAs2(Pos(Succ(yy8100)), Pos(Zero)) → False
new_asAs2(Pos(Zero), Pos(Succ(yy9100))) → False
new_asAs0(Succ(yy80000), Succ(yy90000), yy81, yy91) → new_asAs0(yy80000, yy90000, yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_asAs2(Neg(Succ(yy8100)), Neg(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_primEqNat0(Zero, Succ(yy91000)) → False
new_primEqNat0(Succ(yy81000), Zero) → False
new_asAs2(Neg(Zero), Neg(Zero)) → True
new_asAs2(Pos(Succ(yy8100)), Neg(yy910)) → False
new_asAs2(Neg(Succ(yy8100)), Pos(yy910)) → False
new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Pos(Zero), yy91)) → new_asAs1(yy81, yy91)
new_asAs1(yy81, yy91) → False
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs0(yy8000, yy9000, yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_asAs0(Succ(yy80000), Zero, yy81, yy91) → new_asAs1(yy81, yy91)
new_asAs0(Zero, Succ(yy90000), yy81, yy91) → new_asAs1(yy81, yy91)
new_asAs2(Neg(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Zero)) → False
new_esEs(:%(Pos(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_asAs2(Neg(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Pos(Zero), Neg(Succ(yy9100))) → False
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Neg(Zero), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs0(yy8000, yy9000, yy81, yy91)
new_asAs2(Pos(Succ(yy8100)), Pos(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Pos(Zero), Pos(Zero)) → True
new_asAs2(Neg(Zero), Pos(Zero)) → True
new_asAs2(Pos(Zero), Neg(Zero)) → True
new_asAs0(Zero, Zero, yy81, yy91) → new_asAs2(yy81, yy91)

The set Q consists of the following terms:

new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Succ(x2)), x3))
new_primEqNat0(Succ(x0), Zero)
new_asAs2(Neg(Succ(x0)), Pos(x1))
new_asAs2(Pos(Succ(x0)), Neg(x1))
new_asAs0(Zero, Succ(x0), x1, x2)
new_esEs(:%(Neg(Zero), x0), :%(Neg(Zero), x1))
new_asAs2(Pos(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Zero), x2))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Succ(x2)), x3))
new_asAs2(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs(:%(Neg(Zero), x0), :%(Neg(Succ(x1)), x2))
new_asAs2(Pos(Succ(x0)), Pos(Zero))
new_primEqNat0(Zero, Zero)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Succ(x1), x2, x3)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Zero), x1))
new_asAs2(Neg(Zero), Neg(Succ(x0)))
new_primEqNat0(Zero, Succ(x0))
new_asAs2(Neg(Zero), Pos(Zero))
new_asAs2(Pos(Zero), Neg(Zero))
new_asAs2(Neg(Succ(x0)), Neg(Zero))
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Zero), x2))
new_asAs2(Pos(Zero), Pos(Zero))
new_esEs(:%(Pos(Zero), x0), :%(Neg(Zero), x1))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Zero), x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Neg(x2), x3))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Pos(x2), x3))
new_asAs2(Neg(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Zero), Neg(Succ(x0)))
new_asAs2(Neg(Zero), Neg(Zero))
new_asAs1(x0, x1)
new_esEs(:%(Pos(Zero), x0), :%(Neg(Succ(x1)), x2))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Zero, x1, x2)
new_asAs0(Zero, Zero, x0, x1)

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                        ↳ UsableRulesProof
QDP
                            ↳ QReductionProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_span2Ys2(:(yy3110, yy3111)) → new_span2Ys11(yy3110, yy3111, new_esEs(:%(Neg(Zero), Pos(Zero)), yy3110))
new_span2Zs11(yy3110, yy3111, True) → new_span2Ys2(yy3111)
new_span2Zs11(yy3110, yy3111, True) → new_span2Zs2(yy3111)
new_span2Ys11(yy3110, yy3111, True) → new_span2Zs2(yy3111)
new_span2Ys11(yy3110, yy3111, True) → new_span2Ys2(yy3111)
new_span2Zs2(:(yy3110, yy3111)) → new_span2Zs11(yy3110, yy3111, new_esEs(:%(Neg(Zero), Pos(Zero)), yy3110))

The TRS R consists of the following rules:

new_esEs(:%(Neg(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_asAs1(yy81, yy91) → False
new_asAs2(Pos(Succ(yy8100)), Pos(Zero)) → False
new_asAs2(Pos(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Neg(Zero), Neg(Zero)) → True
new_asAs2(Pos(Succ(yy8100)), Neg(yy910)) → False
new_asAs2(Neg(Succ(yy8100)), Pos(yy910)) → False
new_asAs2(Neg(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Zero)) → False
new_asAs2(Neg(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Pos(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Pos(Succ(yy8100)), Pos(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Pos(Zero), Pos(Zero)) → True
new_asAs2(Neg(Zero), Pos(Zero)) → True
new_asAs2(Pos(Zero), Neg(Zero)) → True
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(yy81000), Succ(yy91000)) → new_primEqNat0(yy81000, yy91000)
new_primEqNat0(Zero, Succ(yy91000)) → False
new_primEqNat0(Succ(yy81000), Zero) → False

The set Q consists of the following terms:

new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Succ(x2)), x3))
new_primEqNat0(Succ(x0), Zero)
new_asAs2(Neg(Succ(x0)), Pos(x1))
new_asAs2(Pos(Succ(x0)), Neg(x1))
new_asAs0(Zero, Succ(x0), x1, x2)
new_esEs(:%(Neg(Zero), x0), :%(Neg(Zero), x1))
new_asAs2(Pos(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Zero), x2))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Succ(x2)), x3))
new_asAs2(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs(:%(Neg(Zero), x0), :%(Neg(Succ(x1)), x2))
new_asAs2(Pos(Succ(x0)), Pos(Zero))
new_primEqNat0(Zero, Zero)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Succ(x1), x2, x3)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Zero), x1))
new_asAs2(Neg(Zero), Neg(Succ(x0)))
new_primEqNat0(Zero, Succ(x0))
new_asAs2(Neg(Zero), Pos(Zero))
new_asAs2(Pos(Zero), Neg(Zero))
new_asAs2(Neg(Succ(x0)), Neg(Zero))
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Zero), x2))
new_asAs2(Pos(Zero), Pos(Zero))
new_esEs(:%(Pos(Zero), x0), :%(Neg(Zero), x1))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Zero), x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Neg(x2), x3))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Pos(x2), x3))
new_asAs2(Neg(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Zero), Neg(Succ(x0)))
new_asAs2(Neg(Zero), Neg(Zero))
new_asAs1(x0, x1)
new_esEs(:%(Pos(Zero), x0), :%(Neg(Succ(x1)), x2))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Zero, x1, x2)
new_asAs0(Zero, Zero, x0, x1)

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

new_asAs0(Zero, Succ(x0), x1, x2)
new_asAs0(Succ(x0), Succ(x1), x2, x3)
new_asAs0(Succ(x0), Zero, x1, x2)
new_asAs0(Zero, Zero, x0, x1)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                        ↳ UsableRulesProof
                          ↳ QDP
                            ↳ QReductionProof
QDP
                                ↳ QDPSizeChangeProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_span2Ys2(:(yy3110, yy3111)) → new_span2Ys11(yy3110, yy3111, new_esEs(:%(Neg(Zero), Pos(Zero)), yy3110))
new_span2Zs11(yy3110, yy3111, True) → new_span2Ys2(yy3111)
new_span2Zs11(yy3110, yy3111, True) → new_span2Zs2(yy3111)
new_span2Ys11(yy3110, yy3111, True) → new_span2Zs2(yy3111)
new_span2Ys11(yy3110, yy3111, True) → new_span2Ys2(yy3111)
new_span2Zs2(:(yy3110, yy3111)) → new_span2Zs11(yy3110, yy3111, new_esEs(:%(Neg(Zero), Pos(Zero)), yy3110))

The TRS R consists of the following rules:

new_esEs(:%(Neg(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_asAs1(yy81, yy91) → False
new_asAs2(Pos(Succ(yy8100)), Pos(Zero)) → False
new_asAs2(Pos(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Neg(Zero), Neg(Zero)) → True
new_asAs2(Pos(Succ(yy8100)), Neg(yy910)) → False
new_asAs2(Neg(Succ(yy8100)), Pos(yy910)) → False
new_asAs2(Neg(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Zero)) → False
new_asAs2(Neg(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Pos(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Pos(Succ(yy8100)), Pos(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Pos(Zero), Pos(Zero)) → True
new_asAs2(Neg(Zero), Pos(Zero)) → True
new_asAs2(Pos(Zero), Neg(Zero)) → True
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(yy81000), Succ(yy91000)) → new_primEqNat0(yy81000, yy91000)
new_primEqNat0(Zero, Succ(yy91000)) → False
new_primEqNat0(Succ(yy81000), Zero) → False

The set Q consists of the following terms:

new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Succ(x2)), x3))
new_primEqNat0(Succ(x0), Zero)
new_asAs2(Neg(Succ(x0)), Pos(x1))
new_asAs2(Pos(Succ(x0)), Neg(x1))
new_esEs(:%(Neg(Zero), x0), :%(Neg(Zero), x1))
new_asAs2(Pos(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Zero), x2))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Succ(x2)), x3))
new_asAs2(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs(:%(Neg(Zero), x0), :%(Neg(Succ(x1)), x2))
new_asAs2(Pos(Succ(x0)), Pos(Zero))
new_primEqNat0(Zero, Zero)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Succ(x1)), x2))
new_esEs(:%(Pos(Zero), x0), :%(Pos(Zero), x1))
new_asAs2(Neg(Zero), Neg(Succ(x0)))
new_primEqNat0(Zero, Succ(x0))
new_asAs2(Neg(Zero), Pos(Zero))
new_asAs2(Pos(Zero), Neg(Zero))
new_asAs2(Neg(Succ(x0)), Neg(Zero))
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Zero), x2))
new_asAs2(Pos(Zero), Pos(Zero))
new_esEs(:%(Pos(Zero), x0), :%(Neg(Zero), x1))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Zero), x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Neg(x2), x3))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Pos(x2), x3))
new_asAs2(Neg(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Zero), Neg(Succ(x0)))
new_asAs2(Neg(Zero), Neg(Zero))
new_asAs1(x0, x1)
new_esEs(:%(Pos(Zero), x0), :%(Neg(Succ(x1)), x2))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Succ(x1)), x2))

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
QDP
                        ↳ UsableRulesProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_span2Ys12(yy652, yy6530, yy6531, True) → new_span2Ys3(yy652, yy6531)
new_span2Zs12(yy760, yy7610, yy7611, True) → new_span2Ys3(yy760, yy7611)
new_span2Ys3(yy652, :(yy6530, yy6531)) → new_span2Ys12(yy652, yy6530, yy6531, new_esEs(:%(Neg(Zero), Pos(Succ(yy652))), yy6530))
new_span2Zs3(yy760, :(yy7610, yy7611)) → new_span2Zs12(yy760, yy7610, yy7611, new_esEs(:%(Neg(Zero), Pos(Succ(yy760))), yy7610))
new_span2Ys12(yy652, yy6530, yy6531, True) → new_span2Zs3(yy652, yy6531)
new_span2Zs12(yy760, yy7610, yy7611, True) → new_span2Zs3(yy760, yy7611)

The TRS R consists of the following rules:

new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Neg(yy900), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Pos(yy900), yy91)) → new_asAs1(yy81, yy91)
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(yy81000), Succ(yy91000)) → new_primEqNat0(yy81000, yy91000)
new_asAs2(Pos(Succ(yy8100)), Pos(Zero)) → False
new_asAs2(Pos(Zero), Pos(Succ(yy9100))) → False
new_asAs0(Succ(yy80000), Succ(yy90000), yy81, yy91) → new_asAs0(yy80000, yy90000, yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_asAs2(Neg(Succ(yy8100)), Neg(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_primEqNat0(Zero, Succ(yy91000)) → False
new_primEqNat0(Succ(yy81000), Zero) → False
new_asAs2(Neg(Zero), Neg(Zero)) → True
new_asAs2(Pos(Succ(yy8100)), Neg(yy910)) → False
new_asAs2(Neg(Succ(yy8100)), Pos(yy910)) → False
new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Pos(Zero), yy91)) → new_asAs1(yy81, yy91)
new_asAs1(yy81, yy91) → False
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs0(yy8000, yy9000, yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_asAs0(Succ(yy80000), Zero, yy81, yy91) → new_asAs1(yy81, yy91)
new_asAs0(Zero, Succ(yy90000), yy81, yy91) → new_asAs1(yy81, yy91)
new_asAs2(Neg(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Zero)) → False
new_esEs(:%(Pos(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_asAs2(Neg(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Pos(Zero), Neg(Succ(yy9100))) → False
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Neg(Zero), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs0(yy8000, yy9000, yy81, yy91)
new_asAs2(Pos(Succ(yy8100)), Pos(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Pos(Zero), Pos(Zero)) → True
new_asAs2(Neg(Zero), Pos(Zero)) → True
new_asAs2(Pos(Zero), Neg(Zero)) → True
new_asAs0(Zero, Zero, yy81, yy91) → new_asAs2(yy81, yy91)

The set Q consists of the following terms:

new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Succ(x2)), x3))
new_primEqNat0(Succ(x0), Zero)
new_asAs2(Neg(Succ(x0)), Pos(x1))
new_asAs2(Pos(Succ(x0)), Neg(x1))
new_asAs0(Zero, Succ(x0), x1, x2)
new_esEs(:%(Neg(Zero), x0), :%(Neg(Zero), x1))
new_asAs2(Pos(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Zero), x2))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Succ(x2)), x3))
new_asAs2(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs(:%(Neg(Zero), x0), :%(Neg(Succ(x1)), x2))
new_asAs2(Pos(Succ(x0)), Pos(Zero))
new_primEqNat0(Zero, Zero)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Succ(x1), x2, x3)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Zero), x1))
new_asAs2(Neg(Zero), Neg(Succ(x0)))
new_primEqNat0(Zero, Succ(x0))
new_asAs2(Neg(Zero), Pos(Zero))
new_asAs2(Pos(Zero), Neg(Zero))
new_asAs2(Neg(Succ(x0)), Neg(Zero))
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Zero), x2))
new_asAs2(Pos(Zero), Pos(Zero))
new_esEs(:%(Pos(Zero), x0), :%(Neg(Zero), x1))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Zero), x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Neg(x2), x3))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Pos(x2), x3))
new_asAs2(Neg(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Zero), Neg(Succ(x0)))
new_asAs2(Neg(Zero), Neg(Zero))
new_asAs1(x0, x1)
new_esEs(:%(Pos(Zero), x0), :%(Neg(Succ(x1)), x2))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Zero, x1, x2)
new_asAs0(Zero, Zero, x0, x1)

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                        ↳ UsableRulesProof
QDP
                            ↳ QReductionProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_span2Ys12(yy652, yy6530, yy6531, True) → new_span2Ys3(yy652, yy6531)
new_span2Zs12(yy760, yy7610, yy7611, True) → new_span2Ys3(yy760, yy7611)
new_span2Ys3(yy652, :(yy6530, yy6531)) → new_span2Ys12(yy652, yy6530, yy6531, new_esEs(:%(Neg(Zero), Pos(Succ(yy652))), yy6530))
new_span2Zs3(yy760, :(yy7610, yy7611)) → new_span2Zs12(yy760, yy7610, yy7611, new_esEs(:%(Neg(Zero), Pos(Succ(yy760))), yy7610))
new_span2Ys12(yy652, yy6530, yy6531, True) → new_span2Zs3(yy652, yy6531)
new_span2Zs12(yy760, yy7610, yy7611, True) → new_span2Zs3(yy760, yy7611)

The TRS R consists of the following rules:

new_esEs(:%(Neg(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_asAs1(yy81, yy91) → False
new_asAs2(Pos(Succ(yy8100)), Pos(Zero)) → False
new_asAs2(Pos(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Neg(Zero), Neg(Zero)) → True
new_asAs2(Pos(Succ(yy8100)), Neg(yy910)) → False
new_asAs2(Neg(Succ(yy8100)), Pos(yy910)) → False
new_asAs2(Neg(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Zero)) → False
new_asAs2(Neg(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Pos(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Pos(Succ(yy8100)), Pos(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Pos(Zero), Pos(Zero)) → True
new_asAs2(Neg(Zero), Pos(Zero)) → True
new_asAs2(Pos(Zero), Neg(Zero)) → True
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(yy81000), Succ(yy91000)) → new_primEqNat0(yy81000, yy91000)
new_primEqNat0(Zero, Succ(yy91000)) → False
new_primEqNat0(Succ(yy81000), Zero) → False

The set Q consists of the following terms:

new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Succ(x2)), x3))
new_primEqNat0(Succ(x0), Zero)
new_asAs2(Neg(Succ(x0)), Pos(x1))
new_asAs2(Pos(Succ(x0)), Neg(x1))
new_asAs0(Zero, Succ(x0), x1, x2)
new_esEs(:%(Neg(Zero), x0), :%(Neg(Zero), x1))
new_asAs2(Pos(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Zero), x2))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Succ(x2)), x3))
new_asAs2(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs(:%(Neg(Zero), x0), :%(Neg(Succ(x1)), x2))
new_asAs2(Pos(Succ(x0)), Pos(Zero))
new_primEqNat0(Zero, Zero)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Succ(x1), x2, x3)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Zero), x1))
new_asAs2(Neg(Zero), Neg(Succ(x0)))
new_primEqNat0(Zero, Succ(x0))
new_asAs2(Neg(Zero), Pos(Zero))
new_asAs2(Pos(Zero), Neg(Zero))
new_asAs2(Neg(Succ(x0)), Neg(Zero))
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Zero), x2))
new_asAs2(Pos(Zero), Pos(Zero))
new_esEs(:%(Pos(Zero), x0), :%(Neg(Zero), x1))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Zero), x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Neg(x2), x3))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Pos(x2), x3))
new_asAs2(Neg(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Zero), Neg(Succ(x0)))
new_asAs2(Neg(Zero), Neg(Zero))
new_asAs1(x0, x1)
new_esEs(:%(Pos(Zero), x0), :%(Neg(Succ(x1)), x2))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Zero, x1, x2)
new_asAs0(Zero, Zero, x0, x1)

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

new_asAs0(Zero, Succ(x0), x1, x2)
new_asAs0(Succ(x0), Succ(x1), x2, x3)
new_asAs0(Succ(x0), Zero, x1, x2)
new_asAs0(Zero, Zero, x0, x1)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                        ↳ UsableRulesProof
                          ↳ QDP
                            ↳ QReductionProof
QDP
                                ↳ QDPSizeChangeProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_span2Ys12(yy652, yy6530, yy6531, True) → new_span2Ys3(yy652, yy6531)
new_span2Zs12(yy760, yy7610, yy7611, True) → new_span2Ys3(yy760, yy7611)
new_span2Ys3(yy652, :(yy6530, yy6531)) → new_span2Ys12(yy652, yy6530, yy6531, new_esEs(:%(Neg(Zero), Pos(Succ(yy652))), yy6530))
new_span2Zs3(yy760, :(yy7610, yy7611)) → new_span2Zs12(yy760, yy7610, yy7611, new_esEs(:%(Neg(Zero), Pos(Succ(yy760))), yy7610))
new_span2Ys12(yy652, yy6530, yy6531, True) → new_span2Zs3(yy652, yy6531)
new_span2Zs12(yy760, yy7610, yy7611, True) → new_span2Zs3(yy760, yy7611)

The TRS R consists of the following rules:

new_esEs(:%(Neg(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_asAs1(yy81, yy91) → False
new_asAs2(Pos(Succ(yy8100)), Pos(Zero)) → False
new_asAs2(Pos(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Neg(Zero), Neg(Zero)) → True
new_asAs2(Pos(Succ(yy8100)), Neg(yy910)) → False
new_asAs2(Neg(Succ(yy8100)), Pos(yy910)) → False
new_asAs2(Neg(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Zero)) → False
new_asAs2(Neg(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Pos(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Pos(Succ(yy8100)), Pos(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Pos(Zero), Pos(Zero)) → True
new_asAs2(Neg(Zero), Pos(Zero)) → True
new_asAs2(Pos(Zero), Neg(Zero)) → True
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(yy81000), Succ(yy91000)) → new_primEqNat0(yy81000, yy91000)
new_primEqNat0(Zero, Succ(yy91000)) → False
new_primEqNat0(Succ(yy81000), Zero) → False

The set Q consists of the following terms:

new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Succ(x2)), x3))
new_primEqNat0(Succ(x0), Zero)
new_asAs2(Neg(Succ(x0)), Pos(x1))
new_asAs2(Pos(Succ(x0)), Neg(x1))
new_esEs(:%(Neg(Zero), x0), :%(Neg(Zero), x1))
new_asAs2(Pos(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Zero), x2))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Succ(x2)), x3))
new_asAs2(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs(:%(Neg(Zero), x0), :%(Neg(Succ(x1)), x2))
new_asAs2(Pos(Succ(x0)), Pos(Zero))
new_primEqNat0(Zero, Zero)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Succ(x1)), x2))
new_esEs(:%(Pos(Zero), x0), :%(Pos(Zero), x1))
new_asAs2(Neg(Zero), Neg(Succ(x0)))
new_primEqNat0(Zero, Succ(x0))
new_asAs2(Neg(Zero), Pos(Zero))
new_asAs2(Pos(Zero), Neg(Zero))
new_asAs2(Neg(Succ(x0)), Neg(Zero))
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Zero), x2))
new_asAs2(Pos(Zero), Pos(Zero))
new_esEs(:%(Pos(Zero), x0), :%(Neg(Zero), x1))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Zero), x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Neg(x2), x3))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Pos(x2), x3))
new_asAs2(Neg(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Zero), Neg(Succ(x0)))
new_asAs2(Neg(Zero), Neg(Zero))
new_asAs1(x0, x1)
new_esEs(:%(Pos(Zero), x0), :%(Neg(Succ(x1)), x2))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Succ(x1)), x2))

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
QDP
                        ↳ UsableRulesProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_span2Zs13(yy408, yy409, yy4120, yy4121, True) → new_span2Zs4(yy408, yy409, yy4121)
new_span2Zs4(yy408, yy409, :(yy4120, yy4121)) → new_span2Zs13(yy408, yy409, yy4120, yy4121, new_esEs(:%(Neg(Succ(yy408)), yy409), yy4120))

The TRS R consists of the following rules:

new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Neg(yy900), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Pos(yy900), yy91)) → new_asAs1(yy81, yy91)
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(yy81000), Succ(yy91000)) → new_primEqNat0(yy81000, yy91000)
new_asAs2(Pos(Succ(yy8100)), Pos(Zero)) → False
new_asAs2(Pos(Zero), Pos(Succ(yy9100))) → False
new_asAs0(Succ(yy80000), Succ(yy90000), yy81, yy91) → new_asAs0(yy80000, yy90000, yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_asAs2(Neg(Succ(yy8100)), Neg(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_primEqNat0(Zero, Succ(yy91000)) → False
new_primEqNat0(Succ(yy81000), Zero) → False
new_asAs2(Neg(Zero), Neg(Zero)) → True
new_asAs2(Pos(Succ(yy8100)), Neg(yy910)) → False
new_asAs2(Neg(Succ(yy8100)), Pos(yy910)) → False
new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Pos(Zero), yy91)) → new_asAs1(yy81, yy91)
new_asAs1(yy81, yy91) → False
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs0(yy8000, yy9000, yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_asAs0(Succ(yy80000), Zero, yy81, yy91) → new_asAs1(yy81, yy91)
new_asAs0(Zero, Succ(yy90000), yy81, yy91) → new_asAs1(yy81, yy91)
new_asAs2(Neg(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Zero)) → False
new_esEs(:%(Pos(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_asAs2(Neg(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Pos(Zero), Neg(Succ(yy9100))) → False
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Neg(Zero), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs0(yy8000, yy9000, yy81, yy91)
new_asAs2(Pos(Succ(yy8100)), Pos(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Pos(Zero), Pos(Zero)) → True
new_asAs2(Neg(Zero), Pos(Zero)) → True
new_asAs2(Pos(Zero), Neg(Zero)) → True
new_asAs0(Zero, Zero, yy81, yy91) → new_asAs2(yy81, yy91)

The set Q consists of the following terms:

new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Succ(x2)), x3))
new_primEqNat0(Succ(x0), Zero)
new_asAs2(Neg(Succ(x0)), Pos(x1))
new_asAs2(Pos(Succ(x0)), Neg(x1))
new_asAs0(Zero, Succ(x0), x1, x2)
new_esEs(:%(Neg(Zero), x0), :%(Neg(Zero), x1))
new_asAs2(Pos(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Zero), x2))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Succ(x2)), x3))
new_asAs2(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs(:%(Neg(Zero), x0), :%(Neg(Succ(x1)), x2))
new_asAs2(Pos(Succ(x0)), Pos(Zero))
new_primEqNat0(Zero, Zero)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Succ(x1), x2, x3)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Zero), x1))
new_asAs2(Neg(Zero), Neg(Succ(x0)))
new_primEqNat0(Zero, Succ(x0))
new_asAs2(Neg(Zero), Pos(Zero))
new_asAs2(Pos(Zero), Neg(Zero))
new_asAs2(Neg(Succ(x0)), Neg(Zero))
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Zero), x2))
new_asAs2(Pos(Zero), Pos(Zero))
new_esEs(:%(Pos(Zero), x0), :%(Neg(Zero), x1))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Zero), x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Neg(x2), x3))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Pos(x2), x3))
new_asAs2(Neg(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Zero), Neg(Succ(x0)))
new_asAs2(Neg(Zero), Neg(Zero))
new_asAs1(x0, x1)
new_esEs(:%(Pos(Zero), x0), :%(Neg(Succ(x1)), x2))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Zero, x1, x2)
new_asAs0(Zero, Zero, x0, x1)

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                        ↳ UsableRulesProof
QDP
                            ↳ QDPSizeChangeProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_span2Zs13(yy408, yy409, yy4120, yy4121, True) → new_span2Zs4(yy408, yy409, yy4121)
new_span2Zs4(yy408, yy409, :(yy4120, yy4121)) → new_span2Zs13(yy408, yy409, yy4120, yy4121, new_esEs(:%(Neg(Succ(yy408)), yy409), yy4120))

The TRS R consists of the following rules:

new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Pos(yy900), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs0(yy8000, yy9000, yy81, yy91)
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Neg(Zero), yy91)) → new_asAs1(yy81, yy91)
new_asAs1(yy81, yy91) → False
new_asAs0(Succ(yy80000), Succ(yy90000), yy81, yy91) → new_asAs0(yy80000, yy90000, yy81, yy91)
new_asAs0(Succ(yy80000), Zero, yy81, yy91) → new_asAs1(yy81, yy91)
new_asAs0(Zero, Succ(yy90000), yy81, yy91) → new_asAs1(yy81, yy91)
new_asAs0(Zero, Zero, yy81, yy91) → new_asAs2(yy81, yy91)
new_asAs2(Pos(Succ(yy8100)), Pos(Zero)) → False
new_asAs2(Pos(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Neg(Zero), Neg(Zero)) → True
new_asAs2(Pos(Succ(yy8100)), Neg(yy910)) → False
new_asAs2(Neg(Succ(yy8100)), Pos(yy910)) → False
new_asAs2(Neg(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Zero)) → False
new_asAs2(Neg(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Pos(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Pos(Succ(yy8100)), Pos(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Pos(Zero), Pos(Zero)) → True
new_asAs2(Neg(Zero), Pos(Zero)) → True
new_asAs2(Pos(Zero), Neg(Zero)) → True
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(yy81000), Succ(yy91000)) → new_primEqNat0(yy81000, yy91000)
new_primEqNat0(Zero, Succ(yy91000)) → False
new_primEqNat0(Succ(yy81000), Zero) → False

The set Q consists of the following terms:

new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Succ(x2)), x3))
new_primEqNat0(Succ(x0), Zero)
new_asAs2(Neg(Succ(x0)), Pos(x1))
new_asAs2(Pos(Succ(x0)), Neg(x1))
new_asAs0(Zero, Succ(x0), x1, x2)
new_esEs(:%(Neg(Zero), x0), :%(Neg(Zero), x1))
new_asAs2(Pos(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Zero), x2))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Succ(x2)), x3))
new_asAs2(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs(:%(Neg(Zero), x0), :%(Neg(Succ(x1)), x2))
new_asAs2(Pos(Succ(x0)), Pos(Zero))
new_primEqNat0(Zero, Zero)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Succ(x1), x2, x3)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Zero), x1))
new_asAs2(Neg(Zero), Neg(Succ(x0)))
new_primEqNat0(Zero, Succ(x0))
new_asAs2(Neg(Zero), Pos(Zero))
new_asAs2(Pos(Zero), Neg(Zero))
new_asAs2(Neg(Succ(x0)), Neg(Zero))
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Zero), x2))
new_asAs2(Pos(Zero), Pos(Zero))
new_esEs(:%(Pos(Zero), x0), :%(Neg(Zero), x1))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Zero), x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Neg(x2), x3))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Pos(x2), x3))
new_asAs2(Neg(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Zero), Neg(Succ(x0)))
new_asAs2(Neg(Zero), Neg(Zero))
new_asAs1(x0, x1)
new_esEs(:%(Pos(Zero), x0), :%(Neg(Succ(x1)), x2))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Zero, x1, x2)
new_asAs0(Zero, Zero, x0, x1)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
QDP
                        ↳ UsableRulesProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_span2Ys4(yy541, yy542, :(yy5450, yy5451)) → new_span2Ys13(yy541, yy542, yy5450, yy5451, new_esEs(:%(Neg(Succ(yy541)), yy542), yy5450))
new_span2Ys13(yy541, yy542, yy5450, yy5451, True) → new_span2Ys4(yy541, yy542, yy5451)

The TRS R consists of the following rules:

new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Neg(yy900), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Pos(yy900), yy91)) → new_asAs1(yy81, yy91)
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(yy81000), Succ(yy91000)) → new_primEqNat0(yy81000, yy91000)
new_asAs2(Pos(Succ(yy8100)), Pos(Zero)) → False
new_asAs2(Pos(Zero), Pos(Succ(yy9100))) → False
new_asAs0(Succ(yy80000), Succ(yy90000), yy81, yy91) → new_asAs0(yy80000, yy90000, yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_asAs2(Neg(Succ(yy8100)), Neg(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_primEqNat0(Zero, Succ(yy91000)) → False
new_primEqNat0(Succ(yy81000), Zero) → False
new_asAs2(Neg(Zero), Neg(Zero)) → True
new_asAs2(Pos(Succ(yy8100)), Neg(yy910)) → False
new_asAs2(Neg(Succ(yy8100)), Pos(yy910)) → False
new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Pos(Zero), yy91)) → new_asAs1(yy81, yy91)
new_asAs1(yy81, yy91) → False
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs0(yy8000, yy9000, yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_asAs0(Succ(yy80000), Zero, yy81, yy91) → new_asAs1(yy81, yy91)
new_asAs0(Zero, Succ(yy90000), yy81, yy91) → new_asAs1(yy81, yy91)
new_asAs2(Neg(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Zero)) → False
new_esEs(:%(Pos(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_asAs2(Neg(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Pos(Zero), Neg(Succ(yy9100))) → False
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Neg(Zero), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs0(yy8000, yy9000, yy81, yy91)
new_asAs2(Pos(Succ(yy8100)), Pos(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Pos(Zero), Pos(Zero)) → True
new_asAs2(Neg(Zero), Pos(Zero)) → True
new_asAs2(Pos(Zero), Neg(Zero)) → True
new_asAs0(Zero, Zero, yy81, yy91) → new_asAs2(yy81, yy91)

The set Q consists of the following terms:

new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Succ(x2)), x3))
new_primEqNat0(Succ(x0), Zero)
new_asAs2(Neg(Succ(x0)), Pos(x1))
new_asAs2(Pos(Succ(x0)), Neg(x1))
new_asAs0(Zero, Succ(x0), x1, x2)
new_esEs(:%(Neg(Zero), x0), :%(Neg(Zero), x1))
new_asAs2(Pos(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Zero), x2))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Succ(x2)), x3))
new_asAs2(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs(:%(Neg(Zero), x0), :%(Neg(Succ(x1)), x2))
new_asAs2(Pos(Succ(x0)), Pos(Zero))
new_primEqNat0(Zero, Zero)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Succ(x1), x2, x3)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Zero), x1))
new_asAs2(Neg(Zero), Neg(Succ(x0)))
new_primEqNat0(Zero, Succ(x0))
new_asAs2(Neg(Zero), Pos(Zero))
new_asAs2(Pos(Zero), Neg(Zero))
new_asAs2(Neg(Succ(x0)), Neg(Zero))
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Zero), x2))
new_asAs2(Pos(Zero), Pos(Zero))
new_esEs(:%(Pos(Zero), x0), :%(Neg(Zero), x1))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Zero), x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Neg(x2), x3))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Pos(x2), x3))
new_asAs2(Neg(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Zero), Neg(Succ(x0)))
new_asAs2(Neg(Zero), Neg(Zero))
new_asAs1(x0, x1)
new_esEs(:%(Pos(Zero), x0), :%(Neg(Succ(x1)), x2))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Zero, x1, x2)
new_asAs0(Zero, Zero, x0, x1)

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                        ↳ UsableRulesProof
QDP
                            ↳ QDPSizeChangeProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_span2Ys4(yy541, yy542, :(yy5450, yy5451)) → new_span2Ys13(yy541, yy542, yy5450, yy5451, new_esEs(:%(Neg(Succ(yy541)), yy542), yy5450))
new_span2Ys13(yy541, yy542, yy5450, yy5451, True) → new_span2Ys4(yy541, yy542, yy5451)

The TRS R consists of the following rules:

new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Pos(yy900), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs0(yy8000, yy9000, yy81, yy91)
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Neg(Zero), yy91)) → new_asAs1(yy81, yy91)
new_asAs1(yy81, yy91) → False
new_asAs0(Succ(yy80000), Succ(yy90000), yy81, yy91) → new_asAs0(yy80000, yy90000, yy81, yy91)
new_asAs0(Succ(yy80000), Zero, yy81, yy91) → new_asAs1(yy81, yy91)
new_asAs0(Zero, Succ(yy90000), yy81, yy91) → new_asAs1(yy81, yy91)
new_asAs0(Zero, Zero, yy81, yy91) → new_asAs2(yy81, yy91)
new_asAs2(Pos(Succ(yy8100)), Pos(Zero)) → False
new_asAs2(Pos(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Neg(Zero), Neg(Zero)) → True
new_asAs2(Pos(Succ(yy8100)), Neg(yy910)) → False
new_asAs2(Neg(Succ(yy8100)), Pos(yy910)) → False
new_asAs2(Neg(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Zero)) → False
new_asAs2(Neg(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Pos(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Pos(Succ(yy8100)), Pos(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Pos(Zero), Pos(Zero)) → True
new_asAs2(Neg(Zero), Pos(Zero)) → True
new_asAs2(Pos(Zero), Neg(Zero)) → True
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(yy81000), Succ(yy91000)) → new_primEqNat0(yy81000, yy91000)
new_primEqNat0(Zero, Succ(yy91000)) → False
new_primEqNat0(Succ(yy81000), Zero) → False

The set Q consists of the following terms:

new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Succ(x2)), x3))
new_primEqNat0(Succ(x0), Zero)
new_asAs2(Neg(Succ(x0)), Pos(x1))
new_asAs2(Pos(Succ(x0)), Neg(x1))
new_asAs0(Zero, Succ(x0), x1, x2)
new_esEs(:%(Neg(Zero), x0), :%(Neg(Zero), x1))
new_asAs2(Pos(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Zero), x2))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Succ(x2)), x3))
new_asAs2(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs(:%(Neg(Zero), x0), :%(Neg(Succ(x1)), x2))
new_asAs2(Pos(Succ(x0)), Pos(Zero))
new_primEqNat0(Zero, Zero)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Succ(x1), x2, x3)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Zero), x1))
new_asAs2(Neg(Zero), Neg(Succ(x0)))
new_primEqNat0(Zero, Succ(x0))
new_asAs2(Neg(Zero), Pos(Zero))
new_asAs2(Pos(Zero), Neg(Zero))
new_asAs2(Neg(Succ(x0)), Neg(Zero))
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Zero), x2))
new_asAs2(Pos(Zero), Pos(Zero))
new_esEs(:%(Pos(Zero), x0), :%(Neg(Zero), x1))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Zero), x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Neg(x2), x3))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Pos(x2), x3))
new_asAs2(Neg(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Zero), Neg(Succ(x0)))
new_asAs2(Neg(Zero), Neg(Zero))
new_asAs1(x0, x1)
new_esEs(:%(Pos(Zero), x0), :%(Neg(Succ(x1)), x2))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Zero, x1, x2)
new_asAs0(Zero, Zero, x0, x1)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
QDP
                        ↳ UsableRulesProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_span2Zs5(:(yy3110, yy3111)) → new_span2Zs14(yy3110, yy3111, new_esEs(:%(Pos(Zero), Neg(Zero)), yy3110))
new_span2Zs14(yy3110, yy3111, True) → new_span2Zs5(yy3111)
new_span2Ys14(yy3110, yy3111, True) → new_span2Ys5(yy3111)
new_span2Ys14(yy3110, yy3111, True) → new_span2Zs5(yy3111)
new_span2Zs14(yy3110, yy3111, True) → new_span2Ys5(yy3111)
new_span2Ys5(:(yy3110, yy3111)) → new_span2Ys14(yy3110, yy3111, new_esEs(:%(Pos(Zero), Neg(Zero)), yy3110))

The TRS R consists of the following rules:

new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Neg(yy900), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Pos(yy900), yy91)) → new_asAs1(yy81, yy91)
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(yy81000), Succ(yy91000)) → new_primEqNat0(yy81000, yy91000)
new_asAs2(Pos(Succ(yy8100)), Pos(Zero)) → False
new_asAs2(Pos(Zero), Pos(Succ(yy9100))) → False
new_asAs0(Succ(yy80000), Succ(yy90000), yy81, yy91) → new_asAs0(yy80000, yy90000, yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_asAs2(Neg(Succ(yy8100)), Neg(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_primEqNat0(Zero, Succ(yy91000)) → False
new_primEqNat0(Succ(yy81000), Zero) → False
new_asAs2(Neg(Zero), Neg(Zero)) → True
new_asAs2(Pos(Succ(yy8100)), Neg(yy910)) → False
new_asAs2(Neg(Succ(yy8100)), Pos(yy910)) → False
new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Pos(Zero), yy91)) → new_asAs1(yy81, yy91)
new_asAs1(yy81, yy91) → False
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs0(yy8000, yy9000, yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_asAs0(Succ(yy80000), Zero, yy81, yy91) → new_asAs1(yy81, yy91)
new_asAs0(Zero, Succ(yy90000), yy81, yy91) → new_asAs1(yy81, yy91)
new_asAs2(Neg(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Zero)) → False
new_esEs(:%(Pos(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_asAs2(Neg(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Pos(Zero), Neg(Succ(yy9100))) → False
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Neg(Zero), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs0(yy8000, yy9000, yy81, yy91)
new_asAs2(Pos(Succ(yy8100)), Pos(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Pos(Zero), Pos(Zero)) → True
new_asAs2(Neg(Zero), Pos(Zero)) → True
new_asAs2(Pos(Zero), Neg(Zero)) → True
new_asAs0(Zero, Zero, yy81, yy91) → new_asAs2(yy81, yy91)

The set Q consists of the following terms:

new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Succ(x2)), x3))
new_primEqNat0(Succ(x0), Zero)
new_asAs2(Neg(Succ(x0)), Pos(x1))
new_asAs2(Pos(Succ(x0)), Neg(x1))
new_asAs0(Zero, Succ(x0), x1, x2)
new_esEs(:%(Neg(Zero), x0), :%(Neg(Zero), x1))
new_asAs2(Pos(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Zero), x2))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Succ(x2)), x3))
new_asAs2(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs(:%(Neg(Zero), x0), :%(Neg(Succ(x1)), x2))
new_asAs2(Pos(Succ(x0)), Pos(Zero))
new_primEqNat0(Zero, Zero)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Succ(x1), x2, x3)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Zero), x1))
new_asAs2(Neg(Zero), Neg(Succ(x0)))
new_primEqNat0(Zero, Succ(x0))
new_asAs2(Neg(Zero), Pos(Zero))
new_asAs2(Pos(Zero), Neg(Zero))
new_asAs2(Neg(Succ(x0)), Neg(Zero))
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Zero), x2))
new_asAs2(Pos(Zero), Pos(Zero))
new_esEs(:%(Pos(Zero), x0), :%(Neg(Zero), x1))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Zero), x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Neg(x2), x3))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Pos(x2), x3))
new_asAs2(Neg(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Zero), Neg(Succ(x0)))
new_asAs2(Neg(Zero), Neg(Zero))
new_asAs1(x0, x1)
new_esEs(:%(Pos(Zero), x0), :%(Neg(Succ(x1)), x2))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Zero, x1, x2)
new_asAs0(Zero, Zero, x0, x1)

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                        ↳ UsableRulesProof
QDP
                            ↳ QReductionProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_span2Zs5(:(yy3110, yy3111)) → new_span2Zs14(yy3110, yy3111, new_esEs(:%(Pos(Zero), Neg(Zero)), yy3110))
new_span2Zs14(yy3110, yy3111, True) → new_span2Zs5(yy3111)
new_span2Ys14(yy3110, yy3111, True) → new_span2Ys5(yy3111)
new_span2Ys14(yy3110, yy3111, True) → new_span2Zs5(yy3111)
new_span2Zs14(yy3110, yy3111, True) → new_span2Ys5(yy3111)
new_span2Ys5(:(yy3110, yy3111)) → new_span2Ys14(yy3110, yy3111, new_esEs(:%(Pos(Zero), Neg(Zero)), yy3110))

The TRS R consists of the following rules:

new_esEs(:%(Pos(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_asAs1(yy81, yy91) → False
new_asAs2(Pos(Succ(yy8100)), Pos(Zero)) → False
new_asAs2(Pos(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Neg(Zero), Neg(Zero)) → True
new_asAs2(Pos(Succ(yy8100)), Neg(yy910)) → False
new_asAs2(Neg(Succ(yy8100)), Pos(yy910)) → False
new_asAs2(Neg(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Zero)) → False
new_asAs2(Neg(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Pos(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Pos(Succ(yy8100)), Pos(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Pos(Zero), Pos(Zero)) → True
new_asAs2(Neg(Zero), Pos(Zero)) → True
new_asAs2(Pos(Zero), Neg(Zero)) → True
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(yy81000), Succ(yy91000)) → new_primEqNat0(yy81000, yy91000)
new_primEqNat0(Zero, Succ(yy91000)) → False
new_primEqNat0(Succ(yy81000), Zero) → False

The set Q consists of the following terms:

new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Succ(x2)), x3))
new_primEqNat0(Succ(x0), Zero)
new_asAs2(Neg(Succ(x0)), Pos(x1))
new_asAs2(Pos(Succ(x0)), Neg(x1))
new_asAs0(Zero, Succ(x0), x1, x2)
new_esEs(:%(Neg(Zero), x0), :%(Neg(Zero), x1))
new_asAs2(Pos(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Zero), x2))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Succ(x2)), x3))
new_asAs2(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs(:%(Neg(Zero), x0), :%(Neg(Succ(x1)), x2))
new_asAs2(Pos(Succ(x0)), Pos(Zero))
new_primEqNat0(Zero, Zero)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Succ(x1), x2, x3)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Zero), x1))
new_asAs2(Neg(Zero), Neg(Succ(x0)))
new_primEqNat0(Zero, Succ(x0))
new_asAs2(Neg(Zero), Pos(Zero))
new_asAs2(Pos(Zero), Neg(Zero))
new_asAs2(Neg(Succ(x0)), Neg(Zero))
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Zero), x2))
new_asAs2(Pos(Zero), Pos(Zero))
new_esEs(:%(Pos(Zero), x0), :%(Neg(Zero), x1))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Zero), x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Neg(x2), x3))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Pos(x2), x3))
new_asAs2(Neg(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Zero), Neg(Succ(x0)))
new_asAs2(Neg(Zero), Neg(Zero))
new_asAs1(x0, x1)
new_esEs(:%(Pos(Zero), x0), :%(Neg(Succ(x1)), x2))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Zero, x1, x2)
new_asAs0(Zero, Zero, x0, x1)

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

new_asAs0(Zero, Succ(x0), x1, x2)
new_asAs0(Succ(x0), Succ(x1), x2, x3)
new_asAs0(Succ(x0), Zero, x1, x2)
new_asAs0(Zero, Zero, x0, x1)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                        ↳ UsableRulesProof
                          ↳ QDP
                            ↳ QReductionProof
QDP
                                ↳ QDPSizeChangeProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_span2Zs5(:(yy3110, yy3111)) → new_span2Zs14(yy3110, yy3111, new_esEs(:%(Pos(Zero), Neg(Zero)), yy3110))
new_span2Ys14(yy3110, yy3111, True) → new_span2Ys5(yy3111)
new_span2Zs14(yy3110, yy3111, True) → new_span2Zs5(yy3111)
new_span2Ys14(yy3110, yy3111, True) → new_span2Zs5(yy3111)
new_span2Zs14(yy3110, yy3111, True) → new_span2Ys5(yy3111)
new_span2Ys5(:(yy3110, yy3111)) → new_span2Ys14(yy3110, yy3111, new_esEs(:%(Pos(Zero), Neg(Zero)), yy3110))

The TRS R consists of the following rules:

new_esEs(:%(Pos(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_asAs1(yy81, yy91) → False
new_asAs2(Pos(Succ(yy8100)), Pos(Zero)) → False
new_asAs2(Pos(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Neg(Zero), Neg(Zero)) → True
new_asAs2(Pos(Succ(yy8100)), Neg(yy910)) → False
new_asAs2(Neg(Succ(yy8100)), Pos(yy910)) → False
new_asAs2(Neg(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Zero)) → False
new_asAs2(Neg(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Pos(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Pos(Succ(yy8100)), Pos(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Pos(Zero), Pos(Zero)) → True
new_asAs2(Neg(Zero), Pos(Zero)) → True
new_asAs2(Pos(Zero), Neg(Zero)) → True
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(yy81000), Succ(yy91000)) → new_primEqNat0(yy81000, yy91000)
new_primEqNat0(Zero, Succ(yy91000)) → False
new_primEqNat0(Succ(yy81000), Zero) → False

The set Q consists of the following terms:

new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Succ(x2)), x3))
new_primEqNat0(Succ(x0), Zero)
new_asAs2(Neg(Succ(x0)), Pos(x1))
new_asAs2(Pos(Succ(x0)), Neg(x1))
new_esEs(:%(Neg(Zero), x0), :%(Neg(Zero), x1))
new_asAs2(Pos(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Zero), x2))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Succ(x2)), x3))
new_asAs2(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs(:%(Neg(Zero), x0), :%(Neg(Succ(x1)), x2))
new_asAs2(Pos(Succ(x0)), Pos(Zero))
new_primEqNat0(Zero, Zero)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Succ(x1)), x2))
new_esEs(:%(Pos(Zero), x0), :%(Pos(Zero), x1))
new_asAs2(Neg(Zero), Neg(Succ(x0)))
new_primEqNat0(Zero, Succ(x0))
new_asAs2(Neg(Zero), Pos(Zero))
new_asAs2(Pos(Zero), Neg(Zero))
new_asAs2(Neg(Succ(x0)), Neg(Zero))
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Zero), x2))
new_asAs2(Pos(Zero), Pos(Zero))
new_esEs(:%(Pos(Zero), x0), :%(Neg(Zero), x1))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Zero), x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Neg(x2), x3))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Pos(x2), x3))
new_asAs2(Neg(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Zero), Neg(Succ(x0)))
new_asAs2(Neg(Zero), Neg(Zero))
new_asAs1(x0, x1)
new_esEs(:%(Pos(Zero), x0), :%(Neg(Succ(x1)), x2))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Succ(x1)), x2))

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
QDP
                        ↳ UsableRulesProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_span2Ys15(yy612, yy6130, yy6131, True) → new_span2Ys6(yy612, yy6131)
new_span2Zs15(yy726, yy7270, yy7271, True) → new_span2Zs6(yy726, yy7271)
new_span2Zs15(yy726, yy7270, yy7271, True) → new_span2Ys6(yy726, yy7271)
new_span2Zs6(yy726, :(yy7270, yy7271)) → new_span2Zs15(yy726, yy7270, yy7271, new_esEs(:%(Pos(Zero), Neg(Succ(yy726))), yy7270))
new_span2Ys15(yy612, yy6130, yy6131, True) → new_span2Zs6(yy612, yy6131)
new_span2Ys6(yy612, :(yy6130, yy6131)) → new_span2Ys15(yy612, yy6130, yy6131, new_esEs(:%(Pos(Zero), Neg(Succ(yy612))), yy6130))

The TRS R consists of the following rules:

new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Neg(yy900), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Pos(yy900), yy91)) → new_asAs1(yy81, yy91)
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(yy81000), Succ(yy91000)) → new_primEqNat0(yy81000, yy91000)
new_asAs2(Pos(Succ(yy8100)), Pos(Zero)) → False
new_asAs2(Pos(Zero), Pos(Succ(yy9100))) → False
new_asAs0(Succ(yy80000), Succ(yy90000), yy81, yy91) → new_asAs0(yy80000, yy90000, yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_asAs2(Neg(Succ(yy8100)), Neg(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_primEqNat0(Zero, Succ(yy91000)) → False
new_primEqNat0(Succ(yy81000), Zero) → False
new_asAs2(Neg(Zero), Neg(Zero)) → True
new_asAs2(Pos(Succ(yy8100)), Neg(yy910)) → False
new_asAs2(Neg(Succ(yy8100)), Pos(yy910)) → False
new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Pos(Zero), yy91)) → new_asAs1(yy81, yy91)
new_asAs1(yy81, yy91) → False
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs0(yy8000, yy9000, yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_asAs0(Succ(yy80000), Zero, yy81, yy91) → new_asAs1(yy81, yy91)
new_asAs0(Zero, Succ(yy90000), yy81, yy91) → new_asAs1(yy81, yy91)
new_asAs2(Neg(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Zero)) → False
new_esEs(:%(Pos(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_asAs2(Neg(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Pos(Zero), Neg(Succ(yy9100))) → False
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Neg(Zero), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs0(yy8000, yy9000, yy81, yy91)
new_asAs2(Pos(Succ(yy8100)), Pos(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Pos(Zero), Pos(Zero)) → True
new_asAs2(Neg(Zero), Pos(Zero)) → True
new_asAs2(Pos(Zero), Neg(Zero)) → True
new_asAs0(Zero, Zero, yy81, yy91) → new_asAs2(yy81, yy91)

The set Q consists of the following terms:

new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Succ(x2)), x3))
new_primEqNat0(Succ(x0), Zero)
new_asAs2(Neg(Succ(x0)), Pos(x1))
new_asAs2(Pos(Succ(x0)), Neg(x1))
new_asAs0(Zero, Succ(x0), x1, x2)
new_esEs(:%(Neg(Zero), x0), :%(Neg(Zero), x1))
new_asAs2(Pos(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Zero), x2))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Succ(x2)), x3))
new_asAs2(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs(:%(Neg(Zero), x0), :%(Neg(Succ(x1)), x2))
new_asAs2(Pos(Succ(x0)), Pos(Zero))
new_primEqNat0(Zero, Zero)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Succ(x1), x2, x3)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Zero), x1))
new_asAs2(Neg(Zero), Neg(Succ(x0)))
new_primEqNat0(Zero, Succ(x0))
new_asAs2(Neg(Zero), Pos(Zero))
new_asAs2(Pos(Zero), Neg(Zero))
new_asAs2(Neg(Succ(x0)), Neg(Zero))
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Zero), x2))
new_asAs2(Pos(Zero), Pos(Zero))
new_esEs(:%(Pos(Zero), x0), :%(Neg(Zero), x1))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Zero), x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Neg(x2), x3))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Pos(x2), x3))
new_asAs2(Neg(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Zero), Neg(Succ(x0)))
new_asAs2(Neg(Zero), Neg(Zero))
new_asAs1(x0, x1)
new_esEs(:%(Pos(Zero), x0), :%(Neg(Succ(x1)), x2))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Zero, x1, x2)
new_asAs0(Zero, Zero, x0, x1)

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                        ↳ UsableRulesProof
QDP
                            ↳ QReductionProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_span2Ys15(yy612, yy6130, yy6131, True) → new_span2Ys6(yy612, yy6131)
new_span2Zs15(yy726, yy7270, yy7271, True) → new_span2Zs6(yy726, yy7271)
new_span2Zs15(yy726, yy7270, yy7271, True) → new_span2Ys6(yy726, yy7271)
new_span2Zs6(yy726, :(yy7270, yy7271)) → new_span2Zs15(yy726, yy7270, yy7271, new_esEs(:%(Pos(Zero), Neg(Succ(yy726))), yy7270))
new_span2Ys15(yy612, yy6130, yy6131, True) → new_span2Zs6(yy612, yy6131)
new_span2Ys6(yy612, :(yy6130, yy6131)) → new_span2Ys15(yy612, yy6130, yy6131, new_esEs(:%(Pos(Zero), Neg(Succ(yy612))), yy6130))

The TRS R consists of the following rules:

new_esEs(:%(Pos(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_asAs1(yy81, yy91) → False
new_asAs2(Pos(Succ(yy8100)), Pos(Zero)) → False
new_asAs2(Pos(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Neg(Zero), Neg(Zero)) → True
new_asAs2(Pos(Succ(yy8100)), Neg(yy910)) → False
new_asAs2(Neg(Succ(yy8100)), Pos(yy910)) → False
new_asAs2(Neg(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Zero)) → False
new_asAs2(Neg(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Pos(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Pos(Succ(yy8100)), Pos(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Pos(Zero), Pos(Zero)) → True
new_asAs2(Neg(Zero), Pos(Zero)) → True
new_asAs2(Pos(Zero), Neg(Zero)) → True
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(yy81000), Succ(yy91000)) → new_primEqNat0(yy81000, yy91000)
new_primEqNat0(Zero, Succ(yy91000)) → False
new_primEqNat0(Succ(yy81000), Zero) → False

The set Q consists of the following terms:

new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Succ(x2)), x3))
new_primEqNat0(Succ(x0), Zero)
new_asAs2(Neg(Succ(x0)), Pos(x1))
new_asAs2(Pos(Succ(x0)), Neg(x1))
new_asAs0(Zero, Succ(x0), x1, x2)
new_esEs(:%(Neg(Zero), x0), :%(Neg(Zero), x1))
new_asAs2(Pos(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Zero), x2))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Succ(x2)), x3))
new_asAs2(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs(:%(Neg(Zero), x0), :%(Neg(Succ(x1)), x2))
new_asAs2(Pos(Succ(x0)), Pos(Zero))
new_primEqNat0(Zero, Zero)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Succ(x1), x2, x3)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Zero), x1))
new_asAs2(Neg(Zero), Neg(Succ(x0)))
new_primEqNat0(Zero, Succ(x0))
new_asAs2(Neg(Zero), Pos(Zero))
new_asAs2(Pos(Zero), Neg(Zero))
new_asAs2(Neg(Succ(x0)), Neg(Zero))
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Zero), x2))
new_asAs2(Pos(Zero), Pos(Zero))
new_esEs(:%(Pos(Zero), x0), :%(Neg(Zero), x1))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Zero), x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Neg(x2), x3))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Pos(x2), x3))
new_asAs2(Neg(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Zero), Neg(Succ(x0)))
new_asAs2(Neg(Zero), Neg(Zero))
new_asAs1(x0, x1)
new_esEs(:%(Pos(Zero), x0), :%(Neg(Succ(x1)), x2))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Zero, x1, x2)
new_asAs0(Zero, Zero, x0, x1)

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

new_asAs0(Zero, Succ(x0), x1, x2)
new_asAs0(Succ(x0), Succ(x1), x2, x3)
new_asAs0(Succ(x0), Zero, x1, x2)
new_asAs0(Zero, Zero, x0, x1)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                        ↳ UsableRulesProof
                          ↳ QDP
                            ↳ QReductionProof
QDP
                                ↳ QDPSizeChangeProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_span2Ys15(yy612, yy6130, yy6131, True) → new_span2Ys6(yy612, yy6131)
new_span2Zs15(yy726, yy7270, yy7271, True) → new_span2Zs6(yy726, yy7271)
new_span2Zs15(yy726, yy7270, yy7271, True) → new_span2Ys6(yy726, yy7271)
new_span2Zs6(yy726, :(yy7270, yy7271)) → new_span2Zs15(yy726, yy7270, yy7271, new_esEs(:%(Pos(Zero), Neg(Succ(yy726))), yy7270))
new_span2Ys15(yy612, yy6130, yy6131, True) → new_span2Zs6(yy612, yy6131)
new_span2Ys6(yy612, :(yy6130, yy6131)) → new_span2Ys15(yy612, yy6130, yy6131, new_esEs(:%(Pos(Zero), Neg(Succ(yy612))), yy6130))

The TRS R consists of the following rules:

new_esEs(:%(Pos(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_asAs1(yy81, yy91) → False
new_asAs2(Pos(Succ(yy8100)), Pos(Zero)) → False
new_asAs2(Pos(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Neg(Zero), Neg(Zero)) → True
new_asAs2(Pos(Succ(yy8100)), Neg(yy910)) → False
new_asAs2(Neg(Succ(yy8100)), Pos(yy910)) → False
new_asAs2(Neg(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Zero)) → False
new_asAs2(Neg(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Pos(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Pos(Succ(yy8100)), Pos(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Pos(Zero), Pos(Zero)) → True
new_asAs2(Neg(Zero), Pos(Zero)) → True
new_asAs2(Pos(Zero), Neg(Zero)) → True
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(yy81000), Succ(yy91000)) → new_primEqNat0(yy81000, yy91000)
new_primEqNat0(Zero, Succ(yy91000)) → False
new_primEqNat0(Succ(yy81000), Zero) → False

The set Q consists of the following terms:

new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Succ(x2)), x3))
new_primEqNat0(Succ(x0), Zero)
new_asAs2(Neg(Succ(x0)), Pos(x1))
new_asAs2(Pos(Succ(x0)), Neg(x1))
new_esEs(:%(Neg(Zero), x0), :%(Neg(Zero), x1))
new_asAs2(Pos(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Zero), x2))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Succ(x2)), x3))
new_asAs2(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs(:%(Neg(Zero), x0), :%(Neg(Succ(x1)), x2))
new_asAs2(Pos(Succ(x0)), Pos(Zero))
new_primEqNat0(Zero, Zero)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Succ(x1)), x2))
new_esEs(:%(Pos(Zero), x0), :%(Pos(Zero), x1))
new_asAs2(Neg(Zero), Neg(Succ(x0)))
new_primEqNat0(Zero, Succ(x0))
new_asAs2(Neg(Zero), Pos(Zero))
new_asAs2(Pos(Zero), Neg(Zero))
new_asAs2(Neg(Succ(x0)), Neg(Zero))
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Zero), x2))
new_asAs2(Pos(Zero), Pos(Zero))
new_esEs(:%(Pos(Zero), x0), :%(Neg(Zero), x1))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Zero), x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Neg(x2), x3))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Pos(x2), x3))
new_asAs2(Neg(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Zero), Neg(Succ(x0)))
new_asAs2(Neg(Zero), Neg(Zero))
new_asAs1(x0, x1)
new_esEs(:%(Pos(Zero), x0), :%(Neg(Succ(x1)), x2))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Succ(x1)), x2))

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
QDP
                        ↳ UsableRulesProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_span2Ys7(:(yy3110, yy3111)) → new_span2Ys16(yy3110, yy3111, new_esEs(:%(Pos(Zero), Pos(Zero)), yy3110))
new_span2Ys16(yy3110, yy3111, True) → new_span2Ys7(yy3111)
new_span2Zs16(yy3110, yy3111, True) → new_span2Zs7(yy3111)
new_span2Zs7(:(yy3110, yy3111)) → new_span2Zs16(yy3110, yy3111, new_esEs(:%(Pos(Zero), Pos(Zero)), yy3110))
new_span2Ys16(yy3110, yy3111, True) → new_span2Zs7(yy3111)
new_span2Zs16(yy3110, yy3111, True) → new_span2Ys7(yy3111)

The TRS R consists of the following rules:

new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Neg(yy900), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Pos(yy900), yy91)) → new_asAs1(yy81, yy91)
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(yy81000), Succ(yy91000)) → new_primEqNat0(yy81000, yy91000)
new_asAs2(Pos(Succ(yy8100)), Pos(Zero)) → False
new_asAs2(Pos(Zero), Pos(Succ(yy9100))) → False
new_asAs0(Succ(yy80000), Succ(yy90000), yy81, yy91) → new_asAs0(yy80000, yy90000, yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_asAs2(Neg(Succ(yy8100)), Neg(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_primEqNat0(Zero, Succ(yy91000)) → False
new_primEqNat0(Succ(yy81000), Zero) → False
new_asAs2(Neg(Zero), Neg(Zero)) → True
new_asAs2(Pos(Succ(yy8100)), Neg(yy910)) → False
new_asAs2(Neg(Succ(yy8100)), Pos(yy910)) → False
new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Pos(Zero), yy91)) → new_asAs1(yy81, yy91)
new_asAs1(yy81, yy91) → False
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs0(yy8000, yy9000, yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_asAs0(Succ(yy80000), Zero, yy81, yy91) → new_asAs1(yy81, yy91)
new_asAs0(Zero, Succ(yy90000), yy81, yy91) → new_asAs1(yy81, yy91)
new_asAs2(Neg(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Zero)) → False
new_esEs(:%(Pos(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_asAs2(Neg(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Pos(Zero), Neg(Succ(yy9100))) → False
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Neg(Zero), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs0(yy8000, yy9000, yy81, yy91)
new_asAs2(Pos(Succ(yy8100)), Pos(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Pos(Zero), Pos(Zero)) → True
new_asAs2(Neg(Zero), Pos(Zero)) → True
new_asAs2(Pos(Zero), Neg(Zero)) → True
new_asAs0(Zero, Zero, yy81, yy91) → new_asAs2(yy81, yy91)

The set Q consists of the following terms:

new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Succ(x2)), x3))
new_primEqNat0(Succ(x0), Zero)
new_asAs2(Neg(Succ(x0)), Pos(x1))
new_asAs2(Pos(Succ(x0)), Neg(x1))
new_asAs0(Zero, Succ(x0), x1, x2)
new_esEs(:%(Neg(Zero), x0), :%(Neg(Zero), x1))
new_asAs2(Pos(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Zero), x2))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Succ(x2)), x3))
new_asAs2(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs(:%(Neg(Zero), x0), :%(Neg(Succ(x1)), x2))
new_asAs2(Pos(Succ(x0)), Pos(Zero))
new_primEqNat0(Zero, Zero)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Succ(x1), x2, x3)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Zero), x1))
new_asAs2(Neg(Zero), Neg(Succ(x0)))
new_primEqNat0(Zero, Succ(x0))
new_asAs2(Neg(Zero), Pos(Zero))
new_asAs2(Pos(Zero), Neg(Zero))
new_asAs2(Neg(Succ(x0)), Neg(Zero))
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Zero), x2))
new_asAs2(Pos(Zero), Pos(Zero))
new_esEs(:%(Pos(Zero), x0), :%(Neg(Zero), x1))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Zero), x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Neg(x2), x3))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Pos(x2), x3))
new_asAs2(Neg(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Zero), Neg(Succ(x0)))
new_asAs2(Neg(Zero), Neg(Zero))
new_asAs1(x0, x1)
new_esEs(:%(Pos(Zero), x0), :%(Neg(Succ(x1)), x2))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Zero, x1, x2)
new_asAs0(Zero, Zero, x0, x1)

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                        ↳ UsableRulesProof
QDP
                            ↳ QReductionProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_span2Ys7(:(yy3110, yy3111)) → new_span2Ys16(yy3110, yy3111, new_esEs(:%(Pos(Zero), Pos(Zero)), yy3110))
new_span2Ys16(yy3110, yy3111, True) → new_span2Ys7(yy3111)
new_span2Zs16(yy3110, yy3111, True) → new_span2Zs7(yy3111)
new_span2Zs7(:(yy3110, yy3111)) → new_span2Zs16(yy3110, yy3111, new_esEs(:%(Pos(Zero), Pos(Zero)), yy3110))
new_span2Ys16(yy3110, yy3111, True) → new_span2Zs7(yy3111)
new_span2Zs16(yy3110, yy3111, True) → new_span2Ys7(yy3111)

The TRS R consists of the following rules:

new_esEs(:%(Pos(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_asAs1(yy81, yy91) → False
new_asAs2(Pos(Succ(yy8100)), Pos(Zero)) → False
new_asAs2(Pos(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Neg(Zero), Neg(Zero)) → True
new_asAs2(Pos(Succ(yy8100)), Neg(yy910)) → False
new_asAs2(Neg(Succ(yy8100)), Pos(yy910)) → False
new_asAs2(Neg(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Zero)) → False
new_asAs2(Neg(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Pos(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Pos(Succ(yy8100)), Pos(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Pos(Zero), Pos(Zero)) → True
new_asAs2(Neg(Zero), Pos(Zero)) → True
new_asAs2(Pos(Zero), Neg(Zero)) → True
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(yy81000), Succ(yy91000)) → new_primEqNat0(yy81000, yy91000)
new_primEqNat0(Zero, Succ(yy91000)) → False
new_primEqNat0(Succ(yy81000), Zero) → False

The set Q consists of the following terms:

new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Succ(x2)), x3))
new_primEqNat0(Succ(x0), Zero)
new_asAs2(Neg(Succ(x0)), Pos(x1))
new_asAs2(Pos(Succ(x0)), Neg(x1))
new_asAs0(Zero, Succ(x0), x1, x2)
new_esEs(:%(Neg(Zero), x0), :%(Neg(Zero), x1))
new_asAs2(Pos(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Zero), x2))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Succ(x2)), x3))
new_asAs2(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs(:%(Neg(Zero), x0), :%(Neg(Succ(x1)), x2))
new_asAs2(Pos(Succ(x0)), Pos(Zero))
new_primEqNat0(Zero, Zero)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Succ(x1), x2, x3)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Zero), x1))
new_asAs2(Neg(Zero), Neg(Succ(x0)))
new_primEqNat0(Zero, Succ(x0))
new_asAs2(Neg(Zero), Pos(Zero))
new_asAs2(Pos(Zero), Neg(Zero))
new_asAs2(Neg(Succ(x0)), Neg(Zero))
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Zero), x2))
new_asAs2(Pos(Zero), Pos(Zero))
new_esEs(:%(Pos(Zero), x0), :%(Neg(Zero), x1))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Zero), x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Neg(x2), x3))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Pos(x2), x3))
new_asAs2(Neg(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Zero), Neg(Succ(x0)))
new_asAs2(Neg(Zero), Neg(Zero))
new_asAs1(x0, x1)
new_esEs(:%(Pos(Zero), x0), :%(Neg(Succ(x1)), x2))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Zero, x1, x2)
new_asAs0(Zero, Zero, x0, x1)

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

new_asAs0(Zero, Succ(x0), x1, x2)
new_asAs0(Succ(x0), Succ(x1), x2, x3)
new_asAs0(Succ(x0), Zero, x1, x2)
new_asAs0(Zero, Zero, x0, x1)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                        ↳ UsableRulesProof
                          ↳ QDP
                            ↳ QReductionProof
QDP
                                ↳ QDPSizeChangeProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_span2Ys16(yy3110, yy3111, True) → new_span2Ys7(yy3111)
new_span2Ys7(:(yy3110, yy3111)) → new_span2Ys16(yy3110, yy3111, new_esEs(:%(Pos(Zero), Pos(Zero)), yy3110))
new_span2Zs16(yy3110, yy3111, True) → new_span2Zs7(yy3111)
new_span2Ys16(yy3110, yy3111, True) → new_span2Zs7(yy3111)
new_span2Zs7(:(yy3110, yy3111)) → new_span2Zs16(yy3110, yy3111, new_esEs(:%(Pos(Zero), Pos(Zero)), yy3110))
new_span2Zs16(yy3110, yy3111, True) → new_span2Ys7(yy3111)

The TRS R consists of the following rules:

new_esEs(:%(Pos(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_asAs1(yy81, yy91) → False
new_asAs2(Pos(Succ(yy8100)), Pos(Zero)) → False
new_asAs2(Pos(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Neg(Zero), Neg(Zero)) → True
new_asAs2(Pos(Succ(yy8100)), Neg(yy910)) → False
new_asAs2(Neg(Succ(yy8100)), Pos(yy910)) → False
new_asAs2(Neg(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Zero)) → False
new_asAs2(Neg(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Pos(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Pos(Succ(yy8100)), Pos(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Pos(Zero), Pos(Zero)) → True
new_asAs2(Neg(Zero), Pos(Zero)) → True
new_asAs2(Pos(Zero), Neg(Zero)) → True
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(yy81000), Succ(yy91000)) → new_primEqNat0(yy81000, yy91000)
new_primEqNat0(Zero, Succ(yy91000)) → False
new_primEqNat0(Succ(yy81000), Zero) → False

The set Q consists of the following terms:

new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Succ(x2)), x3))
new_primEqNat0(Succ(x0), Zero)
new_asAs2(Neg(Succ(x0)), Pos(x1))
new_asAs2(Pos(Succ(x0)), Neg(x1))
new_esEs(:%(Neg(Zero), x0), :%(Neg(Zero), x1))
new_asAs2(Pos(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Zero), x2))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Succ(x2)), x3))
new_asAs2(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs(:%(Neg(Zero), x0), :%(Neg(Succ(x1)), x2))
new_asAs2(Pos(Succ(x0)), Pos(Zero))
new_primEqNat0(Zero, Zero)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Succ(x1)), x2))
new_esEs(:%(Pos(Zero), x0), :%(Pos(Zero), x1))
new_asAs2(Neg(Zero), Neg(Succ(x0)))
new_primEqNat0(Zero, Succ(x0))
new_asAs2(Neg(Zero), Pos(Zero))
new_asAs2(Pos(Zero), Neg(Zero))
new_asAs2(Neg(Succ(x0)), Neg(Zero))
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Zero), x2))
new_asAs2(Pos(Zero), Pos(Zero))
new_esEs(:%(Pos(Zero), x0), :%(Neg(Zero), x1))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Zero), x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Neg(x2), x3))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Pos(x2), x3))
new_asAs2(Neg(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Zero), Neg(Succ(x0)))
new_asAs2(Neg(Zero), Neg(Zero))
new_asAs1(x0, x1)
new_esEs(:%(Pos(Zero), x0), :%(Neg(Succ(x1)), x2))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Succ(x1)), x2))

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
QDP
                        ↳ UsableRulesProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_span2Zs8(yy720, :(yy7210, yy7211)) → new_span2Zs17(yy720, yy7210, yy7211, new_esEs(:%(Pos(Zero), Pos(Succ(yy720))), yy7210))
new_span2Zs17(yy720, yy7210, yy7211, True) → new_span2Zs8(yy720, yy7211)
new_span2Zs17(yy720, yy7210, yy7211, True) → new_span2Ys8(yy720, yy7211)
new_span2Ys17(yy606, yy6070, yy6071, True) → new_span2Ys8(yy606, yy6071)
new_span2Ys8(yy606, :(yy6070, yy6071)) → new_span2Ys17(yy606, yy6070, yy6071, new_esEs(:%(Pos(Zero), Pos(Succ(yy606))), yy6070))
new_span2Ys17(yy606, yy6070, yy6071, True) → new_span2Zs8(yy606, yy6071)

The TRS R consists of the following rules:

new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Neg(yy900), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Pos(yy900), yy91)) → new_asAs1(yy81, yy91)
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(yy81000), Succ(yy91000)) → new_primEqNat0(yy81000, yy91000)
new_asAs2(Pos(Succ(yy8100)), Pos(Zero)) → False
new_asAs2(Pos(Zero), Pos(Succ(yy9100))) → False
new_asAs0(Succ(yy80000), Succ(yy90000), yy81, yy91) → new_asAs0(yy80000, yy90000, yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_asAs2(Neg(Succ(yy8100)), Neg(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_primEqNat0(Zero, Succ(yy91000)) → False
new_primEqNat0(Succ(yy81000), Zero) → False
new_asAs2(Neg(Zero), Neg(Zero)) → True
new_asAs2(Pos(Succ(yy8100)), Neg(yy910)) → False
new_asAs2(Neg(Succ(yy8100)), Pos(yy910)) → False
new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Pos(Zero), yy91)) → new_asAs1(yy81, yy91)
new_asAs1(yy81, yy91) → False
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs0(yy8000, yy9000, yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_asAs0(Succ(yy80000), Zero, yy81, yy91) → new_asAs1(yy81, yy91)
new_asAs0(Zero, Succ(yy90000), yy81, yy91) → new_asAs1(yy81, yy91)
new_asAs2(Neg(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Zero)) → False
new_esEs(:%(Pos(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_asAs2(Neg(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Pos(Zero), Neg(Succ(yy9100))) → False
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Neg(Zero), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs0(yy8000, yy9000, yy81, yy91)
new_asAs2(Pos(Succ(yy8100)), Pos(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Pos(Zero), Pos(Zero)) → True
new_asAs2(Neg(Zero), Pos(Zero)) → True
new_asAs2(Pos(Zero), Neg(Zero)) → True
new_asAs0(Zero, Zero, yy81, yy91) → new_asAs2(yy81, yy91)

The set Q consists of the following terms:

new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Succ(x2)), x3))
new_primEqNat0(Succ(x0), Zero)
new_asAs2(Neg(Succ(x0)), Pos(x1))
new_asAs2(Pos(Succ(x0)), Neg(x1))
new_asAs0(Zero, Succ(x0), x1, x2)
new_esEs(:%(Neg(Zero), x0), :%(Neg(Zero), x1))
new_asAs2(Pos(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Zero), x2))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Succ(x2)), x3))
new_asAs2(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs(:%(Neg(Zero), x0), :%(Neg(Succ(x1)), x2))
new_asAs2(Pos(Succ(x0)), Pos(Zero))
new_primEqNat0(Zero, Zero)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Succ(x1), x2, x3)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Zero), x1))
new_asAs2(Neg(Zero), Neg(Succ(x0)))
new_primEqNat0(Zero, Succ(x0))
new_asAs2(Neg(Zero), Pos(Zero))
new_asAs2(Pos(Zero), Neg(Zero))
new_asAs2(Neg(Succ(x0)), Neg(Zero))
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Zero), x2))
new_asAs2(Pos(Zero), Pos(Zero))
new_esEs(:%(Pos(Zero), x0), :%(Neg(Zero), x1))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Zero), x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Neg(x2), x3))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Pos(x2), x3))
new_asAs2(Neg(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Zero), Neg(Succ(x0)))
new_asAs2(Neg(Zero), Neg(Zero))
new_asAs1(x0, x1)
new_esEs(:%(Pos(Zero), x0), :%(Neg(Succ(x1)), x2))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Zero, x1, x2)
new_asAs0(Zero, Zero, x0, x1)

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                        ↳ UsableRulesProof
QDP
                            ↳ QReductionProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_span2Zs8(yy720, :(yy7210, yy7211)) → new_span2Zs17(yy720, yy7210, yy7211, new_esEs(:%(Pos(Zero), Pos(Succ(yy720))), yy7210))
new_span2Zs17(yy720, yy7210, yy7211, True) → new_span2Zs8(yy720, yy7211)
new_span2Zs17(yy720, yy7210, yy7211, True) → new_span2Ys8(yy720, yy7211)
new_span2Ys17(yy606, yy6070, yy6071, True) → new_span2Ys8(yy606, yy6071)
new_span2Ys8(yy606, :(yy6070, yy6071)) → new_span2Ys17(yy606, yy6070, yy6071, new_esEs(:%(Pos(Zero), Pos(Succ(yy606))), yy6070))
new_span2Ys17(yy606, yy6070, yy6071, True) → new_span2Zs8(yy606, yy6071)

The TRS R consists of the following rules:

new_esEs(:%(Pos(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_asAs1(yy81, yy91) → False
new_asAs2(Pos(Succ(yy8100)), Pos(Zero)) → False
new_asAs2(Pos(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Neg(Zero), Neg(Zero)) → True
new_asAs2(Pos(Succ(yy8100)), Neg(yy910)) → False
new_asAs2(Neg(Succ(yy8100)), Pos(yy910)) → False
new_asAs2(Neg(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Zero)) → False
new_asAs2(Neg(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Pos(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Pos(Succ(yy8100)), Pos(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Pos(Zero), Pos(Zero)) → True
new_asAs2(Neg(Zero), Pos(Zero)) → True
new_asAs2(Pos(Zero), Neg(Zero)) → True
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(yy81000), Succ(yy91000)) → new_primEqNat0(yy81000, yy91000)
new_primEqNat0(Zero, Succ(yy91000)) → False
new_primEqNat0(Succ(yy81000), Zero) → False

The set Q consists of the following terms:

new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Succ(x2)), x3))
new_primEqNat0(Succ(x0), Zero)
new_asAs2(Neg(Succ(x0)), Pos(x1))
new_asAs2(Pos(Succ(x0)), Neg(x1))
new_asAs0(Zero, Succ(x0), x1, x2)
new_esEs(:%(Neg(Zero), x0), :%(Neg(Zero), x1))
new_asAs2(Pos(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Zero), x2))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Succ(x2)), x3))
new_asAs2(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs(:%(Neg(Zero), x0), :%(Neg(Succ(x1)), x2))
new_asAs2(Pos(Succ(x0)), Pos(Zero))
new_primEqNat0(Zero, Zero)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Succ(x1), x2, x3)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Zero), x1))
new_asAs2(Neg(Zero), Neg(Succ(x0)))
new_primEqNat0(Zero, Succ(x0))
new_asAs2(Neg(Zero), Pos(Zero))
new_asAs2(Pos(Zero), Neg(Zero))
new_asAs2(Neg(Succ(x0)), Neg(Zero))
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Zero), x2))
new_asAs2(Pos(Zero), Pos(Zero))
new_esEs(:%(Pos(Zero), x0), :%(Neg(Zero), x1))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Zero), x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Neg(x2), x3))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Pos(x2), x3))
new_asAs2(Neg(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Zero), Neg(Succ(x0)))
new_asAs2(Neg(Zero), Neg(Zero))
new_asAs1(x0, x1)
new_esEs(:%(Pos(Zero), x0), :%(Neg(Succ(x1)), x2))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Zero, x1, x2)
new_asAs0(Zero, Zero, x0, x1)

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

new_asAs0(Zero, Succ(x0), x1, x2)
new_asAs0(Succ(x0), Succ(x1), x2, x3)
new_asAs0(Succ(x0), Zero, x1, x2)
new_asAs0(Zero, Zero, x0, x1)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                        ↳ UsableRulesProof
                          ↳ QDP
                            ↳ QReductionProof
QDP
                                ↳ QDPSizeChangeProof
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_span2Zs17(yy720, yy7210, yy7211, True) → new_span2Zs8(yy720, yy7211)
new_span2Zs8(yy720, :(yy7210, yy7211)) → new_span2Zs17(yy720, yy7210, yy7211, new_esEs(:%(Pos(Zero), Pos(Succ(yy720))), yy7210))
new_span2Zs17(yy720, yy7210, yy7211, True) → new_span2Ys8(yy720, yy7211)
new_span2Ys8(yy606, :(yy6070, yy6071)) → new_span2Ys17(yy606, yy6070, yy6071, new_esEs(:%(Pos(Zero), Pos(Succ(yy606))), yy6070))
new_span2Ys17(yy606, yy6070, yy6071, True) → new_span2Ys8(yy606, yy6071)
new_span2Ys17(yy606, yy6070, yy6071, True) → new_span2Zs8(yy606, yy6071)

The TRS R consists of the following rules:

new_esEs(:%(Pos(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_asAs1(yy81, yy91) → False
new_asAs2(Pos(Succ(yy8100)), Pos(Zero)) → False
new_asAs2(Pos(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Neg(Zero), Neg(Zero)) → True
new_asAs2(Pos(Succ(yy8100)), Neg(yy910)) → False
new_asAs2(Neg(Succ(yy8100)), Pos(yy910)) → False
new_asAs2(Neg(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Zero)) → False
new_asAs2(Neg(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Pos(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Pos(Succ(yy8100)), Pos(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Pos(Zero), Pos(Zero)) → True
new_asAs2(Neg(Zero), Pos(Zero)) → True
new_asAs2(Pos(Zero), Neg(Zero)) → True
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(yy81000), Succ(yy91000)) → new_primEqNat0(yy81000, yy91000)
new_primEqNat0(Zero, Succ(yy91000)) → False
new_primEqNat0(Succ(yy81000), Zero) → False

The set Q consists of the following terms:

new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Succ(x2)), x3))
new_primEqNat0(Succ(x0), Zero)
new_asAs2(Neg(Succ(x0)), Pos(x1))
new_asAs2(Pos(Succ(x0)), Neg(x1))
new_esEs(:%(Neg(Zero), x0), :%(Neg(Zero), x1))
new_asAs2(Pos(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Zero), x2))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Succ(x2)), x3))
new_asAs2(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs(:%(Neg(Zero), x0), :%(Neg(Succ(x1)), x2))
new_asAs2(Pos(Succ(x0)), Pos(Zero))
new_primEqNat0(Zero, Zero)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Succ(x1)), x2))
new_esEs(:%(Pos(Zero), x0), :%(Pos(Zero), x1))
new_asAs2(Neg(Zero), Neg(Succ(x0)))
new_primEqNat0(Zero, Succ(x0))
new_asAs2(Neg(Zero), Pos(Zero))
new_asAs2(Pos(Zero), Neg(Zero))
new_asAs2(Neg(Succ(x0)), Neg(Zero))
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Zero), x2))
new_asAs2(Pos(Zero), Pos(Zero))
new_esEs(:%(Pos(Zero), x0), :%(Neg(Zero), x1))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Zero), x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Neg(x2), x3))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Pos(x2), x3))
new_asAs2(Neg(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Zero), Neg(Succ(x0)))
new_asAs2(Neg(Zero), Neg(Zero))
new_asAs1(x0, x1)
new_esEs(:%(Pos(Zero), x0), :%(Neg(Succ(x1)), x2))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Succ(x1)), x2))

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
QDP
                        ↳ UsableRulesProof
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_span2Zs18(yy384, yy385, yy3880, yy3881, True) → new_span2Zs9(yy384, yy385, yy3881)
new_span2Zs9(yy384, yy385, :(yy3880, yy3881)) → new_span2Zs18(yy384, yy385, yy3880, yy3881, new_esEs(:%(Pos(Succ(yy384)), yy385), yy3880))

The TRS R consists of the following rules:

new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Neg(yy900), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Pos(yy900), yy91)) → new_asAs1(yy81, yy91)
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(yy81000), Succ(yy91000)) → new_primEqNat0(yy81000, yy91000)
new_asAs2(Pos(Succ(yy8100)), Pos(Zero)) → False
new_asAs2(Pos(Zero), Pos(Succ(yy9100))) → False
new_asAs0(Succ(yy80000), Succ(yy90000), yy81, yy91) → new_asAs0(yy80000, yy90000, yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_asAs2(Neg(Succ(yy8100)), Neg(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_primEqNat0(Zero, Succ(yy91000)) → False
new_primEqNat0(Succ(yy81000), Zero) → False
new_asAs2(Neg(Zero), Neg(Zero)) → True
new_asAs2(Pos(Succ(yy8100)), Neg(yy910)) → False
new_asAs2(Neg(Succ(yy8100)), Pos(yy910)) → False
new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Pos(Zero), yy91)) → new_asAs1(yy81, yy91)
new_asAs1(yy81, yy91) → False
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs0(yy8000, yy9000, yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_asAs0(Succ(yy80000), Zero, yy81, yy91) → new_asAs1(yy81, yy91)
new_asAs0(Zero, Succ(yy90000), yy81, yy91) → new_asAs1(yy81, yy91)
new_asAs2(Neg(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Zero)) → False
new_esEs(:%(Pos(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_asAs2(Neg(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Pos(Zero), Neg(Succ(yy9100))) → False
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Neg(Zero), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs0(yy8000, yy9000, yy81, yy91)
new_asAs2(Pos(Succ(yy8100)), Pos(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Pos(Zero), Pos(Zero)) → True
new_asAs2(Neg(Zero), Pos(Zero)) → True
new_asAs2(Pos(Zero), Neg(Zero)) → True
new_asAs0(Zero, Zero, yy81, yy91) → new_asAs2(yy81, yy91)

The set Q consists of the following terms:

new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Succ(x2)), x3))
new_primEqNat0(Succ(x0), Zero)
new_asAs2(Neg(Succ(x0)), Pos(x1))
new_asAs2(Pos(Succ(x0)), Neg(x1))
new_asAs0(Zero, Succ(x0), x1, x2)
new_esEs(:%(Neg(Zero), x0), :%(Neg(Zero), x1))
new_asAs2(Pos(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Zero), x2))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Succ(x2)), x3))
new_asAs2(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs(:%(Neg(Zero), x0), :%(Neg(Succ(x1)), x2))
new_asAs2(Pos(Succ(x0)), Pos(Zero))
new_primEqNat0(Zero, Zero)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Succ(x1), x2, x3)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Zero), x1))
new_asAs2(Neg(Zero), Neg(Succ(x0)))
new_primEqNat0(Zero, Succ(x0))
new_asAs2(Neg(Zero), Pos(Zero))
new_asAs2(Pos(Zero), Neg(Zero))
new_asAs2(Neg(Succ(x0)), Neg(Zero))
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Zero), x2))
new_asAs2(Pos(Zero), Pos(Zero))
new_esEs(:%(Pos(Zero), x0), :%(Neg(Zero), x1))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Zero), x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Neg(x2), x3))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Pos(x2), x3))
new_asAs2(Neg(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Zero), Neg(Succ(x0)))
new_asAs2(Neg(Zero), Neg(Zero))
new_asAs1(x0, x1)
new_esEs(:%(Pos(Zero), x0), :%(Neg(Succ(x1)), x2))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Zero, x1, x2)
new_asAs0(Zero, Zero, x0, x1)

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                        ↳ UsableRulesProof
QDP
                            ↳ QDPSizeChangeProof
                      ↳ QDP
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_span2Zs18(yy384, yy385, yy3880, yy3881, True) → new_span2Zs9(yy384, yy385, yy3881)
new_span2Zs9(yy384, yy385, :(yy3880, yy3881)) → new_span2Zs18(yy384, yy385, yy3880, yy3881, new_esEs(:%(Pos(Succ(yy384)), yy385), yy3880))

The TRS R consists of the following rules:

new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Neg(yy900), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Pos(Zero), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs0(yy8000, yy9000, yy81, yy91)
new_asAs0(Succ(yy80000), Succ(yy90000), yy81, yy91) → new_asAs0(yy80000, yy90000, yy81, yy91)
new_asAs0(Succ(yy80000), Zero, yy81, yy91) → new_asAs1(yy81, yy91)
new_asAs0(Zero, Succ(yy90000), yy81, yy91) → new_asAs1(yy81, yy91)
new_asAs0(Zero, Zero, yy81, yy91) → new_asAs2(yy81, yy91)
new_asAs2(Pos(Succ(yy8100)), Pos(Zero)) → False
new_asAs2(Pos(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Neg(Zero), Neg(Zero)) → True
new_asAs2(Pos(Succ(yy8100)), Neg(yy910)) → False
new_asAs2(Neg(Succ(yy8100)), Pos(yy910)) → False
new_asAs2(Neg(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Zero)) → False
new_asAs2(Neg(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Pos(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Pos(Succ(yy8100)), Pos(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Pos(Zero), Pos(Zero)) → True
new_asAs2(Neg(Zero), Pos(Zero)) → True
new_asAs2(Pos(Zero), Neg(Zero)) → True
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(yy81000), Succ(yy91000)) → new_primEqNat0(yy81000, yy91000)
new_primEqNat0(Zero, Succ(yy91000)) → False
new_primEqNat0(Succ(yy81000), Zero) → False
new_asAs1(yy81, yy91) → False

The set Q consists of the following terms:

new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Succ(x2)), x3))
new_primEqNat0(Succ(x0), Zero)
new_asAs2(Neg(Succ(x0)), Pos(x1))
new_asAs2(Pos(Succ(x0)), Neg(x1))
new_asAs0(Zero, Succ(x0), x1, x2)
new_esEs(:%(Neg(Zero), x0), :%(Neg(Zero), x1))
new_asAs2(Pos(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Zero), x2))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Succ(x2)), x3))
new_asAs2(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs(:%(Neg(Zero), x0), :%(Neg(Succ(x1)), x2))
new_asAs2(Pos(Succ(x0)), Pos(Zero))
new_primEqNat0(Zero, Zero)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Succ(x1), x2, x3)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Zero), x1))
new_asAs2(Neg(Zero), Neg(Succ(x0)))
new_primEqNat0(Zero, Succ(x0))
new_asAs2(Neg(Zero), Pos(Zero))
new_asAs2(Pos(Zero), Neg(Zero))
new_asAs2(Neg(Succ(x0)), Neg(Zero))
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Zero), x2))
new_asAs2(Pos(Zero), Pos(Zero))
new_esEs(:%(Pos(Zero), x0), :%(Neg(Zero), x1))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Zero), x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Neg(x2), x3))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Pos(x2), x3))
new_asAs2(Neg(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Zero), Neg(Succ(x0)))
new_asAs2(Neg(Zero), Neg(Zero))
new_asAs1(x0, x1)
new_esEs(:%(Pos(Zero), x0), :%(Neg(Succ(x1)), x2))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Zero, x1, x2)
new_asAs0(Zero, Zero, x0, x1)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
QDP
                        ↳ UsableRulesProof
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_span2Ys9(yy516, yy517, :(yy5200, yy5201)) → new_span2Ys18(yy516, yy517, yy5200, yy5201, new_esEs(:%(Pos(Succ(yy516)), yy517), yy5200))
new_span2Ys18(yy516, yy517, yy5200, yy5201, True) → new_span2Ys9(yy516, yy517, yy5201)

The TRS R consists of the following rules:

new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Neg(yy900), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Pos(yy900), yy91)) → new_asAs1(yy81, yy91)
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(yy81000), Succ(yy91000)) → new_primEqNat0(yy81000, yy91000)
new_asAs2(Pos(Succ(yy8100)), Pos(Zero)) → False
new_asAs2(Pos(Zero), Pos(Succ(yy9100))) → False
new_asAs0(Succ(yy80000), Succ(yy90000), yy81, yy91) → new_asAs0(yy80000, yy90000, yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_asAs2(Neg(Succ(yy8100)), Neg(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_primEqNat0(Zero, Succ(yy91000)) → False
new_primEqNat0(Succ(yy81000), Zero) → False
new_asAs2(Neg(Zero), Neg(Zero)) → True
new_asAs2(Pos(Succ(yy8100)), Neg(yy910)) → False
new_asAs2(Neg(Succ(yy8100)), Pos(yy910)) → False
new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Pos(Zero), yy91)) → new_asAs1(yy81, yy91)
new_asAs1(yy81, yy91) → False
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs0(yy8000, yy9000, yy81, yy91)
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_asAs0(Succ(yy80000), Zero, yy81, yy91) → new_asAs1(yy81, yy91)
new_asAs0(Zero, Succ(yy90000), yy81, yy91) → new_asAs1(yy81, yy91)
new_asAs2(Neg(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Zero)) → False
new_esEs(:%(Pos(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_asAs2(Neg(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Pos(Zero), Neg(Succ(yy9100))) → False
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Neg(Zero), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs0(yy8000, yy9000, yy81, yy91)
new_asAs2(Pos(Succ(yy8100)), Pos(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Pos(Zero), Pos(Zero)) → True
new_asAs2(Neg(Zero), Pos(Zero)) → True
new_asAs2(Pos(Zero), Neg(Zero)) → True
new_asAs0(Zero, Zero, yy81, yy91) → new_asAs2(yy81, yy91)

The set Q consists of the following terms:

new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Succ(x2)), x3))
new_primEqNat0(Succ(x0), Zero)
new_asAs2(Neg(Succ(x0)), Pos(x1))
new_asAs2(Pos(Succ(x0)), Neg(x1))
new_asAs0(Zero, Succ(x0), x1, x2)
new_esEs(:%(Neg(Zero), x0), :%(Neg(Zero), x1))
new_asAs2(Pos(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Zero), x2))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Succ(x2)), x3))
new_asAs2(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs(:%(Neg(Zero), x0), :%(Neg(Succ(x1)), x2))
new_asAs2(Pos(Succ(x0)), Pos(Zero))
new_primEqNat0(Zero, Zero)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Succ(x1), x2, x3)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Zero), x1))
new_asAs2(Neg(Zero), Neg(Succ(x0)))
new_primEqNat0(Zero, Succ(x0))
new_asAs2(Neg(Zero), Pos(Zero))
new_asAs2(Pos(Zero), Neg(Zero))
new_asAs2(Neg(Succ(x0)), Neg(Zero))
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Zero), x2))
new_asAs2(Pos(Zero), Pos(Zero))
new_esEs(:%(Pos(Zero), x0), :%(Neg(Zero), x1))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Zero), x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Neg(x2), x3))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Pos(x2), x3))
new_asAs2(Neg(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Zero), Neg(Succ(x0)))
new_asAs2(Neg(Zero), Neg(Zero))
new_asAs1(x0, x1)
new_esEs(:%(Pos(Zero), x0), :%(Neg(Succ(x1)), x2))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Zero, x1, x2)
new_asAs0(Zero, Zero, x0, x1)

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                        ↳ UsableRulesProof
QDP
                            ↳ QDPSizeChangeProof
                      ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_span2Ys9(yy516, yy517, :(yy5200, yy5201)) → new_span2Ys18(yy516, yy517, yy5200, yy5201, new_esEs(:%(Pos(Succ(yy516)), yy517), yy5200))
new_span2Ys18(yy516, yy517, yy5200, yy5201, True) → new_span2Ys9(yy516, yy517, yy5201)

The TRS R consists of the following rules:

new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Neg(yy900), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Pos(Zero), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs0(yy8000, yy9000, yy81, yy91)
new_asAs0(Succ(yy80000), Succ(yy90000), yy81, yy91) → new_asAs0(yy80000, yy90000, yy81, yy91)
new_asAs0(Succ(yy80000), Zero, yy81, yy91) → new_asAs1(yy81, yy91)
new_asAs0(Zero, Succ(yy90000), yy81, yy91) → new_asAs1(yy81, yy91)
new_asAs0(Zero, Zero, yy81, yy91) → new_asAs2(yy81, yy91)
new_asAs2(Pos(Succ(yy8100)), Pos(Zero)) → False
new_asAs2(Pos(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Neg(Zero), Neg(Zero)) → True
new_asAs2(Pos(Succ(yy8100)), Neg(yy910)) → False
new_asAs2(Neg(Succ(yy8100)), Pos(yy910)) → False
new_asAs2(Neg(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Neg(Succ(yy8100)), Neg(Zero)) → False
new_asAs2(Neg(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Pos(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Pos(Succ(yy8100)), Pos(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_asAs2(Pos(Zero), Pos(Zero)) → True
new_asAs2(Neg(Zero), Pos(Zero)) → True
new_asAs2(Pos(Zero), Neg(Zero)) → True
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(yy81000), Succ(yy91000)) → new_primEqNat0(yy81000, yy91000)
new_primEqNat0(Zero, Succ(yy91000)) → False
new_primEqNat0(Succ(yy81000), Zero) → False
new_asAs1(yy81, yy91) → False

The set Q consists of the following terms:

new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Succ(x2)), x3))
new_primEqNat0(Succ(x0), Zero)
new_asAs2(Neg(Succ(x0)), Pos(x1))
new_asAs2(Pos(Succ(x0)), Neg(x1))
new_asAs0(Zero, Succ(x0), x1, x2)
new_esEs(:%(Neg(Zero), x0), :%(Neg(Zero), x1))
new_asAs2(Pos(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Zero), x2))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Succ(x2)), x3))
new_asAs2(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs(:%(Neg(Zero), x0), :%(Neg(Succ(x1)), x2))
new_asAs2(Pos(Succ(x0)), Pos(Zero))
new_primEqNat0(Zero, Zero)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Succ(x1), x2, x3)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Zero), x1))
new_asAs2(Neg(Zero), Neg(Succ(x0)))
new_primEqNat0(Zero, Succ(x0))
new_asAs2(Neg(Zero), Pos(Zero))
new_asAs2(Pos(Zero), Neg(Zero))
new_asAs2(Neg(Succ(x0)), Neg(Zero))
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Zero), x2))
new_asAs2(Pos(Zero), Pos(Zero))
new_esEs(:%(Pos(Zero), x0), :%(Neg(Zero), x1))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Zero), x1))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Neg(x2), x3))
new_esEs(:%(Neg(Succ(x0)), x1), :%(Pos(x2), x3))
new_asAs2(Neg(Zero), Pos(Succ(x0)))
new_asAs2(Pos(Zero), Neg(Succ(x0)))
new_asAs2(Neg(Zero), Neg(Zero))
new_asAs1(x0, x1)
new_esEs(:%(Pos(Zero), x0), :%(Neg(Succ(x1)), x2))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Succ(x1)), x2))
new_asAs0(Succ(x0), Zero, x1, x2)
new_asAs0(Zero, Zero, x0, x1)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
QDP
                        ↳ QDPOrderProof

Q DP problem:
The TRS P consists of the following rules:

new_groupBy(:(yy30, yy31)) → new_groupBy(new_groupByZs0(yy30, yy31))

The TRS R consists of the following rules:

new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs085(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Zero)), :(:%(Pos(Zero), Pos(Zero)), yy311)) → new_span2Zs25(yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs0155(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy301), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy3101), yy311)) → new_groupByZs0100(yy301, Succ(Succ(Succ(Succ(Zero)))), yy3101, yy311)
new_groupByZs077(yy301000000000, yy3101000000000, yy311, True) → new_groupByZs0168(yy301000000000, yy3101000000000, yy311, new_span2Ys26(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311), new_span2Zs44(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311))
new_groupByZs0107(yy200, yy201, yy202, yy203) → :(:%(Neg(Succ(yy201)), Neg(yy202)), yy203)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(yy30100))), :(:%(Pos(Succ(Succ(Zero))), Pos(Zero)), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Pos(Zero)), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Zero)), :(:%(Pos(Zero), Neg(Zero)), yy311)) → new_span2Zs33(yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Zero)), :(:%(Neg(Zero), Pos(Zero)), yy311)) → new_span2Zs33(yy311)
new_groupByZs0135(yy301000000000, yy3101000000000, yy311, True) → new_groupByZs0163(yy301000000000, yy3101000000000, yy311, new_span2Ys25(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311), new_span2Zs23(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))), yy311)) → new_groupByZs06(Zero, Neg(Succ(Succ(Zero))), Zero, Neg(Succ(Succ(Zero))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Zero)), :(:%(Neg(Zero), Neg(Zero)), yy311)) → new_span2Zs41(yy311)
new_groupByZs011(Neg(Zero), yy64, Neg(Succ(yy6500)), yy66) → new_groupByZs013(Zero, Neg(Zero), yy64, Neg(Succ(yy6500)), yy66)
new_span2Zs44(yy726, []) → []
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs0134(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Zero)), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(yy30100))), :(:%(Neg(Succ(Zero)), Pos(Zero)), yy311)) → :(:%(Neg(Succ(Zero)), Pos(Zero)), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(yy30100))), :(:%(Pos(Succ(Zero)), Neg(Zero)), yy311)) → :(:%(Pos(Succ(Zero)), Neg(Zero)), yy311)
new_span2Zs113(yy766, yy7670, yy7671, True) → new_span2Zs112(yy766, yy7670, yy7671, new_span2Ys25(yy766, yy7671), new_span2Zs23(yy766, yy7671))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Zero))), :(:%(Neg(Succ(Zero)), Neg(Succ(Zero))), yy311)) → new_groupByZs06(Zero, Neg(Succ(Zero)), Zero, Neg(Succ(Zero)), yy311)
new_groupByZs021(yy1119, yy1120, yy1278, yy1277) → yy1277
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Zero)), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs0129(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy3101000000000, yy311)
new_groupByZs094(yy396, yy397, yy398, yy399, True) → new_groupByZs06(yy396, yy397, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy398, yy399)
new_groupByZs027(yy440, yy441, yy442, yy443, yy444) → :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy442)))))))), yy443), yy444)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs09(yy1186, yy1187, yy1188) → new_groupByZs083(yy1186, Succ(yy1187), yy1188)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))), yy311)) → new_groupByZs014(Zero, Pos(Succ(Succ(Zero))), Zero, Pos(Succ(Succ(Zero))), yy311)
new_span2Zs23(yy766, :(yy7670, yy7671)) → new_span2Zs113(yy766, yy7670, yy7671, new_esEs(:%(Neg(Zero), Neg(Succ(yy766))), yy7670))
new_groupByZs0149(yy501, yy502) → new_span2Zs48(yy502)
new_groupByZs0140(yy766, yy767) → new_span2Zs23(yy766, yy767)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → new_groupByZs0122(Succ(Succ(Succ(Succ(yy3101000000)))), yy311)
new_span2Zs20(:(yy3110, yy3111)) → new_span2Zs111(Succ(Succ(Succ(Zero))), yy3110, yy3111, new_esEs(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy3110))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs073(yy1042, yy1043) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy1043)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(yy301000)))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs0128(yy301000000000, yy3101000000000, yy311, new_primEqNat0(yy301000000000, yy3101000000000))
new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Pos(Zero), yy91)) → new_asAs1(yy81, yy91)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Zero)), :(:%(Pos(Succ(Succ(Zero))), Neg(Zero)), yy311)) → new_groupByZs014(Succ(Zero), Pos(Zero), Succ(Zero), Neg(Zero), yy311)
new_groupByZs0156(yy301000000000, yy3101000000000, yy311, yy1312, yy1311) → yy1311
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(yy301000)))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(yy301000)))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))), yy311)
new_span2Zs121(yy3110, yy3111, False) → :(yy3110, yy3111)
new_groupByZs00(yy772, yy773) → new_span2Zs19(yy772, yy773)
new_groupByZs0168(yy301000000000, yy3101000000000, yy311, yy1296, yy1295) → yy1295
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs014(Succ(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Succ(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs089(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy3101000000000, yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(yy31010000))))), yy311)) → new_groupByZs0102(Succ(Succ(Succ(Zero))), yy31010000, yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs014(Zero, Pos(Succ(Succ(Succ(Zero)))), Zero, Pos(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(yy30100))), :(:%(Pos(Succ(Zero)), Pos(Zero)), yy311)) → :(:%(Pos(Succ(Zero)), Pos(Zero)), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs069(Succ(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_span2Ys123(yy3110, yy3111, yy117, yy116) → :(yy3110, yy117)
new_span2Zs42([]) → []
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs0133(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_groupByZs083(yy933, yy934, yy935) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy934))))))))), yy935)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs065(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(yy301000)))), :(:%(Neg(Zero), Neg(Succ(Zero))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Zero))), yy311)
new_groupByZs0160(yy476, yy477, yy478, yy479, yy480) → :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy478)))))))), yy479), yy480)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(yy300000))), yy301), :(:%(Pos(Succ(Zero)), yy3101), yy311)) → :(:%(Pos(Succ(Zero)), yy3101), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Zero)), :(:%(Neg(Succ(Zero)), Pos(Zero)), yy311)) → new_groupByZs06(Zero, Pos(Zero), Zero, Pos(Zero), yy311)
new_span2Ys118(yy652, yy6530, yy6531, False) → []
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_span2Ys112(yy3110, yy3111, False) → []
new_span2Zs127(yy384, yy385, yy3880, yy3881, True) → new_span2Zs124(yy384, yy385, yy3880, yy3881, new_span2Zs46(yy384, yy385, yy3881))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))), yy311)) → new_groupByZs014(Succ(Succ(Zero)), Neg(Succ(Zero)), Succ(Succ(Zero)), Neg(Succ(Zero)), yy311)
new_groupByZs0(:%(Pos(Succ(yy30000)), yy301), :(:%(Neg(yy31000), yy3101), yy311)) → :(:%(Neg(yy31000), yy3101), yy311)
new_span2Zs19(yy760, :(yy7610, yy7611)) → new_span2Zs116(yy760, yy7610, yy7611, new_esEs(:%(Neg(Zero), Pos(Succ(yy760))), yy7610))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Zero)), :(:%(Neg(Succ(Zero)), Neg(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Zero)), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs06(Succ(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Succ(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy3000000000))))))), yy301), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy3101), yy311)) → new_groupByZs098(Succ(Succ(Succ(Succ(Succ(yy3000000000))))), yy301, yy3101, yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → new_groupByZs037(Succ(Succ(Succ(Succ(Zero)))), yy31010000000, yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs090(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_span2Ys116(yy606, yy6070, yy6071, False) → []
new_span2Ys119(yy652, yy6530, yy6531, yy1337, yy1336) → :(yy6530, yy1337)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Zero)), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), yy311)) → new_span2Zs29(yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(yy3101000)))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0100(Pos(Succ(Succ(yy73000))), yy74, Pos(Succ(Succ(yy75000))), yy76) → new_groupByZs0169(yy73000, yy74, yy75000, yy76, new_primEqNat0(yy73000, yy75000))
new_groupByZs0105(yy1194, yy1195, yy1196) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(yy1195))), yy1196)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs087(yy301000000000, yy3101000000000, yy311, new_primEqNat0(yy301000000000, yy3101000000000))
new_span2Zs118(yy726, yy7270, yy7271, False) → :(yy7270, yy7271)
new_groupByZs0100(Pos(Succ(Zero)), yy74, Pos(Succ(Zero)), yy76) → new_groupByZs06(Succ(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), yy74, Pos(Succ(Zero)), yy76)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → new_groupByZs0108(yy301000000, yy3101000000, yy311, new_primEqNat0(yy301000000, yy3101000000))
new_groupByZs088(yy1063, yy1064) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy1064)
new_groupByZs095(yy301, yy3100000000000, yy3101, yy311, False) → new_groupByZs0161(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy301, yy3100000000000, yy3101, yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_span2Zs39(:(yy3110, yy3111)) → new_span2Zs116(Succ(Zero), yy3110, yy3111, new_esEs(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), yy3110))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Zero)), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs0135(yy301000000000, yy3101000000000, yy311, new_primEqNat0(yy301000000000, yy3101000000000))
new_groupByZs0(:%(Neg(Zero), yy301), :(:%(Neg(Succ(yy310000)), yy3101), yy311)) → :(:%(Neg(Succ(yy310000)), yy3101), yy311)
new_groupByZs0116(yy1084, yy1085) → new_groupByZs06(Succ(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Succ(Zero), Neg(Succ(yy1084)), yy1085)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → new_groupByZs0117(yy30100000000, yy310100000000, yy311, new_primEqNat0(yy30100000000, yy310100000000))
new_groupByZs0114(yy1081, yy1082) → :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy1082)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs084(Succ(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0128(yy301000000000, yy3101000000000, yy311, False) → new_groupByZs0129(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy3101000000000, yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), yy311)
new_span2Zs22(:(yy3110, yy3111)) → new_span2Zs121(yy3110, yy3111, new_esEs(:%(Neg(Zero), Neg(Zero)), yy3110))
new_groupByZs0124(yy1095, yy1096) → :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy1096)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs0153(Succ(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), yy301), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(yy3100000000)))))), yy3101), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Succ(yy3100000000)))))), yy3101), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_groupByZs06(Zero, Pos(Succ(Succ(Succ(Succ(Zero))))), Zero, Pos(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → new_groupByZs083(Succ(Succ(Succ(Succ(Succ(Zero))))), yy310100000000, yy311)
new_groupByZs019(yy459, yy460) → new_span2Zs27(yy460)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(yy301000)))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))), yy311)) → new_groupByZs0109(Succ(yy301000), Zero, yy311)
new_groupByZs049(yy30100000, yy310100000, yy311, False) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs078(yy1180, yy1181, yy1182) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy1181)))))))))), yy1182)
new_span2Zs114(yy3110, yy3111, False) → :(yy3110, yy3111)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(yy30100))), :(:%(Neg(Succ(Zero)), Pos(yy31010)), yy311)) → :(:%(Neg(Succ(Zero)), Pos(yy31010)), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), yy311)) → new_groupByZs014(Succ(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), yy311)
new_groupByZs042(yy301, yy310000000000, yy3101, yy311, False) → new_groupByZs027(Succ(Succ(Succ(Succ(Succ(Zero))))), yy301, yy310000000000, yy3101, yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(yy301000)))), :(:%(Neg(Succ(Zero)), Neg(Succ(Zero))), yy311)) → :(:%(Neg(Succ(Zero)), Neg(Succ(Zero))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Zero))), :(:%(Neg(Zero), Neg(Succ(Zero))), yy311)) → new_span2Zs36(yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(yy31010000))))), yy311)) → new_groupByZs045(Succ(Succ(Succ(Zero))), yy31010000, yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), :(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), yy311)) → new_span2Zs43(yy311)
new_groupByZs023(yy1102, yy1103) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy1103)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0150(yy301000000000, yy3101000000000, yy311, False) → new_groupByZs028(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy3101000000000, yy311)
new_groupByZs0100(Neg(Succ(Succ(yy73000))), yy74, Neg(Succ(Succ(yy75000))), yy76) → new_groupByZs0171(yy73000, yy74, yy75000, yy76, new_primEqNat0(yy73000, yy75000))
new_primEqNat0(Zero, Zero) → True
new_groupByZs072(yy301000000000, yy3101000000000, yy311, True) → new_groupByZs0170(yy301000000000, yy3101000000000, yy311, new_span2Ys21(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311), new_span2Zs24(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs092(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), yy311)) → new_groupByZs06(Succ(Zero), Neg(Succ(Succ(Zero))), Succ(Zero), Neg(Succ(Succ(Zero))), yy311)
new_esEs(:%(Pos(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(yy30100))), :(:%(Neg(Succ(Succ(Zero))), Neg(yy31010)), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Neg(yy31010)), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), yy311)) → new_groupByZs06(Succ(Succ(Succ(Zero))), Neg(Zero), Succ(Succ(Succ(Zero))), Pos(Zero), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Zero)), :(:%(Neg(Succ(Zero)), Pos(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Zero)), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Zero)), :(:%(Pos(Succ(Zero)), Neg(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Zero)), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(yy3010000))))), :(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), yy311)) → new_groupByZs014(Succ(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), yy311)
new_groupByZs016(yy1174, yy1175, yy1176) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy1175)))))))))), yy1176)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → new_groupByZs0147(Succ(Succ(Succ(Succ(Succ(Zero))))), yy310100000000, yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Zero))), :(:%(Neg(Zero), Pos(Succ(Succ(yy3101000)))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Zero))), :(:%(Pos(Zero), Neg(Succ(Succ(yy3101000)))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(yy3101000)))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(yy3101000)))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0128(yy301000000000, yy3101000000000, yy311, True) → new_groupByZs0158(yy301000000000, yy3101000000000, yy311, new_span2Ys23(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311), new_span2Zs19(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311))
new_groupByZs0136(yy1109, yy1110) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy1110)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(yy3010000))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))), yy311)) → :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(yy30100))), :(:%(Pos(Zero), Pos(yy31010)), yy311)) → :(:%(Pos(Zero), Pos(yy31010)), yy311)
new_groupByZs041(yy172, yy173, yy174, yy175, False) → :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy174), yy175)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs0127(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_span2Zs48(:(yy4900, yy4901)) → new_span2Zs116(Succ(Succ(Succ(Succ(Zero)))), yy4900, yy4901, new_esEs(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy4900))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), yy311)) → new_groupByZs014(Succ(Succ(Succ(Zero))), Pos(Succ(Zero)), Succ(Succ(Succ(Zero))), Pos(Succ(Zero)), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(yy30100))), :(:%(Pos(Succ(Zero)), Neg(yy31010)), yy311)) → :(:%(Pos(Succ(Zero)), Neg(yy31010)), yy311)
new_groupByZs033(yy1170, yy1171, yy1172) → :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy1171))))))))), yy1172)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs023(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → new_groupByZs0113(yy3010000000, yy31010000000, yy311, new_primEqNat0(yy3010000000, yy31010000000))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), yy301), :(:%(Neg(Succ(Succ(Succ(yy31000000)))), yy3101), yy311)) → :(:%(Neg(Succ(Succ(Succ(yy31000000)))), yy3101), yy311)
new_groupByZs0102(yy741, yy742, yy743) → :(:%(Neg(Succ(yy741)), Pos(Succ(Succ(Succ(yy742))))), yy743)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_span2Zs46(yy384, yy385, :(yy3880, yy3881)) → new_span2Zs127(yy384, yy385, yy3880, yy3881, new_esEs(:%(Pos(Succ(yy384)), yy385), yy3880))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), yy311)) → new_groupByZs06(Succ(Succ(Succ(Zero))), Pos(Zero), Succ(Succ(Succ(Zero))), Neg(Zero), yy311)
new_span2Zs28(:(yy4540, yy4541)) → new_span2Zs111(Succ(Succ(Succ(Succ(Zero)))), yy4540, yy4541, new_esEs(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy4540))
new_span2Zs26([]) → []
new_groupByZs046(yy446, yy447, yy448) → :(:%(Pos(Succ(yy446)), Pos(Succ(Succ(yy447)))), yy448)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs0121(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_span2Zs31([]) → []
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(yy3010000))))), :(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), yy311)
new_groupByZs0171(yy73000, yy74, yy75000, yy76, True) → new_groupByZs06(Succ(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(yy73000))), yy74, Neg(Succ(Succ(yy75000))), yy76)
new_span2Zs45(:(yy4960, yy4961)) → new_span2Zs113(Succ(Succ(Succ(Succ(Zero)))), yy4960, yy4961, new_esEs(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy4960))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), :(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), yy311)) → new_span2Zs39(yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(yy301000)))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(yy301000)))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Zero)), :(:%(Neg(Zero), Pos(Zero)), yy311)) → new_span2Zs22(yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Zero)), :(:%(Neg(Zero), Pos(Succ(yy310100))), yy311)) → :(:%(Neg(Zero), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Zero)), :(:%(Pos(Zero), Neg(Zero)), yy311)) → new_span2Zs22(yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Zero)), :(:%(Pos(Zero), Neg(Succ(yy310100))), yy311)) → :(:%(Pos(Zero), Neg(Succ(yy310100))), yy311)
new_span2Zs116(yy760, yy7610, yy7611, False) → :(yy7610, yy7611)
new_span2Zs39([]) → []
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_span2Zs37(yy311)
new_span2Zs20([]) → []
new_span2Zs36(:(yy3110, yy3111)) → new_span2Zs118(Zero, yy3110, yy3111, new_esEs(:%(Pos(Zero), Neg(Succ(Zero))), yy3110))
new_groupByZs0100(Pos(Zero), yy74, Neg(Succ(yy7500)), yy76) → new_groupByZs099(Zero, Pos(Zero), yy74, Neg(Succ(yy7500)), yy76)
new_groupByZs0100(Neg(Zero), yy74, Pos(Succ(yy7500)), yy76) → new_groupByZs099(Zero, Neg(Zero), yy74, Pos(Succ(yy7500)), yy76)
new_groupByZs011(Neg(Succ(Zero)), yy64, Neg(Succ(Zero)), yy66) → new_groupByZs014(Succ(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), yy64, Neg(Succ(Zero)), yy66)
new_groupByZs0154(yy504, yy505) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy505)
new_groupByZs0100(Neg(Succ(Succ(yy73000))), yy74, Neg(Succ(Zero)), yy76) → new_groupByZs099(Zero, Neg(Succ(Succ(yy73000))), yy74, Neg(Succ(Zero)), yy76)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), yy311)) → new_groupByZs06(Succ(Succ(Succ(Zero))), Pos(Succ(Zero)), Succ(Succ(Succ(Zero))), Pos(Succ(Zero)), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(yy3101000)))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Zero)), :(:%(Pos(Zero), Pos(Succ(yy310100))), yy311)) → :(:%(Pos(Zero), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs06(Succ(Zero), Neg(Succ(Succ(Succ(Zero)))), Succ(Zero), Neg(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(yy30100))), :(:%(Neg(Zero), Neg(yy31010)), yy311)) → :(:%(Neg(Zero), Neg(yy31010)), yy311)
new_span2Zs30(:(yy3110, yy3111)) → new_span2Zs111(Succ(Zero), yy3110, yy3111, new_esEs(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), yy3110))
new_asAs2(Neg(Succ(yy8100)), Neg(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(yy3000000)))), yy301), :(:%(Pos(Succ(Succ(Zero))), yy3101), yy311)) → :(:%(Pos(Succ(Succ(Zero))), yy3101), yy311)
new_groupByZs053(yy3010000000, yy31010000000, yy311, False) → new_groupByZs055(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy31010000000, yy311)
new_span2Zs40([]) → []
new_groupByZs060(yy1024, yy1025) → new_groupByZs014(Succ(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Succ(Zero), Neg(Succ(yy1024)), yy1025)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(yy301000)))), :(:%(Pos(Zero), Neg(Succ(Zero))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Zero))), yy311)
new_groupByZs031(yy1045, yy1046) → new_groupByZs032(yy1045, yy1046, new_span2Ys21(yy1045, yy1046), new_span2Zs24(yy1045, yy1046))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))), yy311)) → new_groupByZs014(Succ(Zero), Pos(Succ(Zero)), Succ(Zero), Pos(Succ(Zero)), yy311)
new_span2Zs28([]) → []
new_groupByZs011(Neg(Succ(yy6300)), yy64, Neg(Zero), yy66) → new_groupByZs013(Zero, Neg(Succ(yy6300)), yy64, Neg(Zero), yy66)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(yy3010000))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(yy3010000))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs01(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_esEs(:%(Pos(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → new_groupByZs055(Succ(Succ(Succ(Succ(Zero)))), yy31010000000, yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs066(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs011(Pos(Succ(Zero)), yy64, Pos(Succ(Zero)), yy66) → new_groupByZs014(Succ(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), yy64, Pos(Succ(Zero)), yy66)
new_groupByZs012(yy63000, yy64, yy65000, yy66, False) → new_groupByZs013(Zero, Pos(Succ(Succ(yy63000))), yy64, Pos(Succ(Succ(yy65000))), yy66)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(yy30100))), :(:%(Neg(Zero), Pos(Zero)), yy311)) → :(:%(Neg(Zero), Pos(Zero)), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(yy30100))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), yy311)
new_span2Ys110(yy3110, yy3111, True) → new_span2Ys111(yy3110, yy3111, new_span2Ys20(yy3111), new_span2Zs22(yy3111))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy301), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy3101), yy311)) → new_groupByZs094(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy301, yy3101, yy311, new_asAs2(yy301, yy3101))
new_span2Zs25([]) → []
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_groupByZs0109(Succ(Succ(Succ(Succ(yy301000000)))), Succ(Succ(Succ(Zero))), yy311)
new_span2Zs114(yy3110, yy3111, True) → new_span2Zs120(yy3110, yy3111, new_span2Ys24(yy3111), new_span2Zs25(yy3111))
new_groupByZs0169(yy73000, yy74, yy75000, yy76, False) → new_groupByZs099(Zero, Pos(Succ(Succ(yy73000))), yy74, Pos(Succ(Succ(yy75000))), yy76)
new_groupByZs048(yy390, yy391, yy392) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(yy391))), yy392)
new_groupByZs0113(yy3010000000, yy31010000000, yy311, True) → new_groupByZs06(Succ(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000))))))), Succ(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000))))))), yy311)
new_span2Zs128(yy726, yy7270, yy7271, yy1346, yy1345) → yy1345
new_groupByZs0(:%(Neg(Succ(Succ(Succ(yy3000000)))), yy301), :(:%(Neg(Succ(Succ(Zero))), yy3101), yy311)) → :(:%(Neg(Succ(Succ(Zero))), yy3101), yy311)
new_groupByZs0110(yy1269, yy1270) → new_groupByZs0109(Succ(Succ(Succ(Zero))), yy1269, yy1270)
new_groupByZs091(yy738, yy739) → new_span2Zs44(yy738, yy739)
new_span2Zs117(yy760, yy7610, yy7611, yy1350, yy1349) → yy1349
new_primEqNat0(Succ(yy81000), Succ(yy91000)) → new_primEqNat0(yy81000, yy91000)
new_groupByZs085(yy462, yy463) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy463)
new_groupByZs018(yy673, yy674, yy675, yy676, yy677) → new_groupByZs027(yy673, yy674, Succ(yy675), yy676, yy677)
new_span2Zs122(yy3110, yy3111, True) → new_span2Zs110(yy3110, yy3111, new_span2Ys27(yy3111), new_span2Zs41(yy3111))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Zero))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(yy3101000)))), yy311)) → :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Zero))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(yy3101000)))), yy311)) → :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs09(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy3101000000000, yy311)
new_groupByZs01(yy456, yy457) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy457)
new_groupByZs015(yy63000, yy64, yy65000, yy66, False) → new_groupByZs013(Zero, Neg(Succ(Succ(yy63000))), yy64, Neg(Succ(Succ(yy65000))), yy66)
new_groupByZs0100(Pos(Zero), yy74, Pos(Zero), yy76) → new_groupByZs06(Succ(Succ(Succ(Succ(Zero)))), Pos(Zero), yy74, Pos(Zero), yy76)
new_groupByZs093(yy300000000000, yy301, yy3100000000000, yy3101, yy311, False) → new_groupByZs0161(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy300000000000))))))), yy301, yy3100000000000, yy3101, yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), :(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), yy311)) → new_span2Zs35(yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(yy30100))), :(:%(Pos(Zero), Pos(Zero)), yy311)) → :(:%(Pos(Zero), Pos(Zero)), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Pos(Zero), yy301), :(:%(Neg(Succ(yy310000)), yy3101), yy311)) → :(:%(Neg(Succ(yy310000)), yy3101), yy311)
new_groupByZs054(yy1014, yy1015) → :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy1015)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_span2Ys21(yy606, :(yy6070, yy6071)) → new_span2Ys116(yy606, yy6070, yy6071, new_esEs(:%(Pos(Zero), Pos(Succ(yy606))), yy6070))
new_groupByZs0(:%(Pos(Zero), Neg(Zero)), :(:%(Neg(Zero), Neg(Zero)), yy311)) → new_span2Zs25(yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), yy301), :(:%(Neg(Succ(Succ(yy3100000))), yy3101), yy311)) → :(:%(Neg(Succ(Succ(yy3100000))), yy3101), yy311)
new_span2Zs34([]) → []
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_span2Zs20(yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs08(yy301000000000, yy3101000000000, yy311, new_primEqNat0(yy301000000000, yy3101000000000))
new_groupByZs0103(yy415, yy416, yy417) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(yy416))), yy417)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(yy301000)))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), yy311)
new_groupByZs077(yy301000000000, yy3101000000000, yy311, False) → new_groupByZs078(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy3101000000000, yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), yy301), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(yy3100000000)))))), yy3101), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Succ(yy3100000000)))))), yy3101), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs06(Succ(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Succ(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → new_groupByZs033(Succ(Succ(Succ(Succ(Succ(Zero))))), yy310100000000, yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs06(Succ(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Succ(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), yy311)
new_span2Zs32([]) → []
new_esEs(:%(Neg(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(yy3010000))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))), yy311)) → :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))), yy311)
new_groupByZs0153(yy778, yy779) → new_span2Zs23(yy778, yy779)
new_asAs2(Pos(Succ(yy8100)), Neg(yy910)) → False
new_asAs2(Neg(Succ(yy8100)), Pos(yy910)) → False
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs038(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_asAs1(yy81, yy91) → False
new_span2Ys110(yy3110, yy3111, False) → []
new_span2Zs38([]) → []
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(yy30100))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(yy31010)), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(yy31010)), yy311)
new_groupByZs067(yy30100000000, yy310100000000, yy311, False) → new_groupByZs033(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy310100000000, yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs0140(Succ(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))), yy311)) → new_groupByZs014(Succ(Zero), Neg(Succ(Zero)), Succ(Zero), Neg(Succ(Zero)), yy311)
new_span2Zs41([]) → []
new_groupByZs011(Neg(Zero), yy64, Neg(Zero), yy66) → new_groupByZs014(Succ(Succ(Succ(Succ(Zero)))), Neg(Zero), yy64, Neg(Zero), yy66)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → new_groupByZs053(yy3010000000, yy31010000000, yy311, new_primEqNat0(yy3010000000, yy31010000000))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Zero)), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), yy311)) → new_groupByZs06(Succ(Succ(Zero)), Neg(Zero), Succ(Succ(Zero)), Pos(Zero), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), yy311)) → new_groupByZs014(Succ(Succ(Succ(Zero))), Neg(Zero), Succ(Succ(Succ(Zero))), Neg(Zero), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), yy311)) → new_groupByZs06(Succ(Succ(Zero)), Pos(Succ(Succ(Zero))), Succ(Succ(Zero)), Pos(Succ(Succ(Zero))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs0105(yy30100000, Succ(Succ(Zero)), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), yy301), :(:%(Pos(Succ(Succ(yy3100000))), yy3101), yy311)) → :(:%(Pos(Succ(Succ(yy3100000))), yy3101), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), yy311)) → new_groupByZs014(Succ(Succ(Zero)), Pos(Succ(Succ(Zero))), Succ(Succ(Zero)), Pos(Succ(Succ(Zero))), yy311)
new_groupByZs024(yy735, yy736) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy736)
new_groupByZs0100(Neg(Succ(Zero)), yy74, Neg(Succ(Succ(yy75000))), yy76) → new_groupByZs099(Zero, Neg(Succ(Zero)), yy74, Neg(Succ(Succ(yy75000))), yy76)
new_groupByZs040(yy372, yy373, yy374, yy375, True) → new_groupByZs014(yy372, yy373, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy374, yy375)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs034(Succ(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs0154(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy301), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3100000000000))))))))), yy3101), yy311)) → new_groupByZs017(yy301, yy3100000000000, yy3101, yy311, new_asAs1(yy301, yy3101))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(yy30100))), :(:%(Neg(Succ(Succ(Zero))), Pos(yy31010)), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Pos(yy31010)), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → new_groupByZs0101(yy30100000, yy310100000, yy311, new_primEqNat0(yy30100000, yy310100000))
new_groupByZs0108(yy301000000, yy3101000000, yy311, False) → new_groupByZs0109(Succ(Succ(Succ(Succ(yy301000000)))), Succ(Succ(Succ(Succ(yy3101000000)))), yy311)
new_span2Zs32(:(yy3110, yy3111)) → new_span2Zs111(Zero, yy3110, yy3111, new_esEs(:%(Pos(Zero), Pos(Succ(Zero))), yy3110))
new_groupByZs011(Pos(Succ(Zero)), yy64, Pos(Succ(Succ(yy65000))), yy66) → new_groupByZs013(Zero, Pos(Succ(Zero)), yy64, Pos(Succ(Succ(yy65000))), yy66)
new_groupByZs098(yy68, yy69, yy70, yy71) → :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy70), yy71)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), yy311)) → new_groupByZs014(Succ(Succ(Zero)), Pos(Succ(Zero)), Succ(Succ(Zero)), Pos(Succ(Zero)), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs031(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs094(yy396, yy397, yy398, yy399, False) → new_groupByZs0160(yy396, yy397, Zero, yy398, yy399)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Zero))), :(:%(Neg(Zero), Pos(Succ(Zero))), yy311)) → new_span2Zs32(yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)
new_span2Zs41(:(yy3110, yy3111)) → new_span2Zs122(yy3110, yy3111, new_esEs(:%(Neg(Zero), Pos(Zero)), yy3110))
new_groupByZs011(Neg(Succ(yy6300)), yy64, Pos(yy650), yy66) → new_groupByZs013(Zero, Neg(Succ(yy6300)), yy64, Pos(yy650), yy66)
new_groupByZs011(Pos(Succ(yy6300)), yy64, Neg(yy650), yy66) → new_groupByZs013(Zero, Pos(Succ(yy6300)), yy64, Neg(yy650), yy66)
new_span2Zs36([]) → []
new_asAs2(Pos(Zero), Pos(Zero)) → True
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs0142(yy301000000000, yy3101000000000, yy311, new_primEqNat0(yy301000000000, yy3101000000000))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_groupByZs06(Succ(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Succ(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs019(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(yy301000)))), :(:%(Neg(Zero), Pos(Succ(Zero))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Zero))), yy311)
new_groupByZs038(yy1059, yy1060) → new_groupByZs026(yy1059, yy1060, new_span2Ys21(yy1059, yy1060), new_span2Zs24(yy1059, yy1060))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))), yy311)) → new_groupByZs06(Zero, Pos(Succ(Succ(Zero))), Zero, Pos(Succ(Succ(Zero))), yy311)
new_span2Zs25(:(yy3110, yy3111)) → new_span2Zs114(yy3110, yy3111, new_esEs(:%(Pos(Zero), Neg(Zero)), yy3110))
new_groupByZs012(yy63000, yy64, yy65000, yy66, True) → new_groupByZs014(Succ(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(yy63000))), yy64, Pos(Succ(Succ(yy65000))), yy66)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), yy311)) → new_groupByZs014(Succ(Succ(Succ(Zero))), Neg(Zero), Succ(Succ(Succ(Zero))), Pos(Zero), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Zero)), :(:%(Pos(Zero), Pos(Succ(yy310100))), yy311)) → :(:%(Pos(Zero), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_groupByZs06(Succ(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Succ(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs017(yy301, yy3100000000000, yy3101, yy311, True) → new_groupByZs014(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy301, Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3100000000000))))))), yy3101, yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), yy311)
new_span2Ys121(yy612, yy6130, yy6131, False) → []
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs079(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0134(yy489, yy490) → new_span2Zs48(yy490)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs054(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_primEqNat0(Succ(yy81000), Zero) → False
new_primEqNat0(Zero, Succ(yy91000)) → False
new_groupByZs0146(yy769, yy770) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy770)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(yy30100))), :(:%(Neg(Succ(Succ(Zero))), Pos(Zero)), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Pos(Zero)), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(yy30100))), :(:%(Pos(Succ(Succ(Zero))), Neg(Zero)), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Neg(Zero)), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), yy311)) → new_span2Zs38(yy311)
new_span2Zs126(yy3110, yy3111, False) → :(yy3110, yy3111)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(yy30100))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(yy31010)), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(yy31010)), yy311)
new_groupByZs096(yy189, yy190, yy191, yy192, False) → :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy191), yy192)
new_span2Zs123(yy720, yy7210, yy7211, yy1344, yy1343) → yy1343
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0139(yy763, yy764) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy764)
new_groupByZs039(yy300000000000, yy301, yy3100000000000, yy3101, yy311, False) → new_groupByZs018(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy300000000000))))))), yy301, yy3100000000000, yy3101, yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Zero))), :(:%(Neg(Zero), Neg(Succ(Zero))), yy311)) → new_span2Zs26(yy311)
new_groupByZs0(:%(Pos(Succ(yy30000)), yy301), :(:%(Pos(Zero), yy3101), yy311)) → :(:%(Pos(Zero), yy3101), yy311)
new_groupByZs08(yy301000000000, yy3101000000000, yy311, False) → new_groupByZs09(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy3101000000000, yy311)
new_span2Zs40(:(yy3110, yy3111)) → new_span2Zs116(Zero, yy3110, yy3111, new_esEs(:%(Neg(Zero), Pos(Succ(Zero))), yy3110))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(yy30100))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(yy3010000))))), :(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), yy311)
new_span2Zs27([]) → []
new_groupByZs080(yy723, yy724) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy724)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs0145(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_span2Zs37(yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), yy311)) → new_groupByZs06(Succ(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), yy311)
new_groupByZs0117(yy30100000000, yy310100000000, yy311, False) → new_groupByZs0119(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy310100000000, yy311)
new_groupByZs013(yy84, yy85, yy86, yy87, yy88) → :(:%(Pos(Succ(yy86)), yy87), yy88)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs097(yy301, yy310000000000, yy3101, yy311, True) → new_groupByZs06(Succ(Succ(Succ(Succ(Succ(Zero))))), yy301, Succ(Succ(Succ(Succ(Succ(Succ(yy310000000000)))))), yy3101, yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy301), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3100000000000))))))))), yy3101), yy311)) → new_groupByZs095(yy301, yy3100000000000, yy3101, yy311, new_asAs1(yy301, yy3101))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(yy3010000))))), :(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → new_groupByZs049(yy30100000, yy310100000, yy311, new_primEqNat0(yy30100000, yy310100000))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(yy3010000))))), :(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs04(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)
new_groupByZs020(yy301000000000, yy3101000000000, yy311, yy1300, yy1299) → yy1299
new_groupByZs0171(yy73000, yy74, yy75000, yy76, False) → new_groupByZs099(Zero, Neg(Succ(Succ(yy73000))), yy74, Neg(Succ(Succ(yy75000))), yy76)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(yy30100))), :(:%(Neg(Zero), Neg(yy31010)), yy311)) → :(:%(Neg(Zero), Neg(yy31010)), yy311)
new_span2Zs35([]) → []
new_groupByZs087(yy301000000000, yy3101000000000, yy311, False) → new_groupByZs089(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy3101000000000, yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy300000000000))))))))), yy301), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy3101), yy311)) → new_groupByZs094(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy300000000000))))))), yy301, yy3101, yy311, new_asAs1(yy301, yy3101))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(yy301000)))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs0111(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_span2Zs24(yy720, :(yy7210, yy7211)) → new_span2Zs111(yy720, yy7210, yy7211, new_esEs(:%(Pos(Zero), Pos(Succ(yy720))), yy7210))
new_groupByZs0104(yy30100000, yy310100000, yy311, True) → new_groupByZs06(Succ(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(yy30100000))))), Succ(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(yy310100000))))), yy311)
new_groupByZs068(yy1035, yy1036) → :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy1036)
new_groupByZs029(yy468, yy469) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy469)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Zero)), :(:%(Pos(Succ(Zero)), Pos(Zero)), yy311)) → new_groupByZs014(Zero, Neg(Zero), Zero, Pos(Zero), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs06(Zero, Pos(Succ(Succ(Succ(Zero)))), Zero, Pos(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)
new_groupByZs011(Pos(Succ(Succ(yy63000))), yy64, Pos(Succ(Succ(yy65000))), yy66) → new_groupByZs012(yy63000, yy64, yy65000, yy66, new_primEqNat0(yy63000, yy65000))
new_groupByZs0113(yy3010000000, yy31010000000, yy311, False) → new_groupByZs0115(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy31010000000, yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy301), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31000000000))))))), yy3101), yy311)) → new_groupByZs099(Zero, yy301, Succ(Succ(Succ(Succ(Succ(yy31000000000))))), yy3101, yy311)
new_groupByZs0119(yy1206, yy1207, yy1208) → :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy1207))))))))), yy1208)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_span2Zs31(:(yy3110, yy3111)) → new_span2Zs111(Succ(Succ(Zero)), yy3110, yy3111, new_esEs(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), yy3110))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(yy30100))), :(:%(Neg(Succ(Zero)), Neg(yy31010)), yy311)) → :(:%(Neg(Succ(Zero)), Neg(yy31010)), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_groupByZs014(Zero, Neg(Succ(Succ(Succ(Succ(Zero))))), Zero, Neg(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(yy3101000)))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(yy3101000)))), yy311)
new_groupByZs04(yy492, yy493) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy493)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs014(Zero, Neg(Succ(Succ(Succ(Zero)))), Zero, Neg(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Zero))), :(:%(Pos(Zero), Pos(Succ(Zero))), yy311)) → new_span2Zs32(yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_span2Zs120(yy3110, yy3111, yy151, yy150) → yy150
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(yy3010000))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs029(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0157(yy1052, yy1053, yy1262, yy1261) → yy1261
new_span2Ys114(yy658, yy6590, yy6591, True) → new_span2Ys19(yy658, yy6590, yy6591, new_span2Ys25(yy658, yy6591), new_span2Zs23(yy658, yy6591))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(yy30100))), :(:%(Neg(Zero), Pos(Zero)), yy311)) → :(:%(Neg(Zero), Pos(Zero)), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(yy30100))), :(:%(Pos(Zero), Neg(Zero)), yy311)) → :(:%(Pos(Zero), Neg(Zero)), yy311)
new_span2Zs45([]) → []
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → new_groupByZs07(Succ(Succ(Zero)), yy310100000, yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Zero)), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Zero)), :(:%(Neg(Zero), Neg(Succ(yy310100))), yy311)) → :(:%(Neg(Zero), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Zero)), :(:%(Neg(Zero), Neg(Succ(yy310100))), yy311)) → :(:%(Neg(Zero), Neg(Succ(yy310100))), yy311)
new_groupByZs0101(yy30100000, yy310100000, yy311, True) → new_groupByZs06(Succ(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(yy30100000))))), Succ(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(yy310100000))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(yy31010000))))), yy311)) → new_groupByZs0109(Succ(Zero), Succ(Succ(yy31010000)), yy311)
new_span2Ys27([]) → []
new_groupByZs0144(yy1226, yy1227, yy1228) → new_groupByZs0147(yy1226, Succ(yy1227), yy1228)
new_groupByZs0161(yy679, yy680, yy681, yy682, yy683) → new_groupByZs0160(yy679, yy680, Succ(yy681), yy682, yy683)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Zero)), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Zero)), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs062(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy311)
new_span2Zs23(yy766, []) → []
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → new_groupByZs059(Succ(Succ(Succ(Succ(Zero)))), yy31010000000, yy311)
new_span2Zs124(yy384, yy385, yy3880, yy3881, yy419) → yy419
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Zero)), :(:%(Neg(Succ(Zero)), Neg(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Zero)), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), :(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), yy311)) → new_span2Zs30(yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Zero)), :(:%(Neg(Zero), Neg(Succ(yy310100))), yy311)) → :(:%(Neg(Zero), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs070(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_groupByZs069(yy1038, yy1039) → new_groupByZs014(Zero, Neg(Succ(yy1038)), Zero, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy1039)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_span2Zs42(yy311)
new_groupByZs0138(yy1112, yy1113) → new_groupByZs0162(yy1112, yy1113, new_span2Ys25(yy1112, yy1113), new_span2Zs23(yy1112, yy1113))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(yy310100))), yy311)
new_groupByZs0111(yy1074, yy1075) → :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy1075)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(yy30000000))))), yy301), :(:%(Neg(Succ(Succ(Succ(Zero)))), yy3101), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), yy3101), yy311)
new_groupByZs037(yy1198, yy1199, yy1200) → :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy1199)))))))), yy1200)
new_groupByZs011(Neg(Succ(Succ(yy63000))), yy64, Neg(Succ(Zero)), yy66) → new_groupByZs013(Zero, Neg(Succ(Succ(yy63000))), yy64, Neg(Succ(Zero)), yy66)
new_groupByZs0(:%(Neg(Zero), Pos(Zero)), :(:%(Pos(Zero), Pos(Succ(yy310100))), yy311)) → :(:%(Pos(Zero), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy301), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy3101), yy311)) → new_groupByZs040(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy301, yy3101, yy311, new_asAs2(yy301, yy3101))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → new_groupByZs057(yy3010000000, yy31010000000, yy311, new_primEqNat0(yy3010000000, yy31010000000))
new_groupByZs0(:%(Pos(Zero), Neg(Zero)), :(:%(Pos(Zero), Pos(Succ(yy310100))), yy311)) → :(:%(Pos(Zero), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy301), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310000000000)))))))), yy3101), yy311)) → new_groupByZs097(yy301, yy310000000000, yy3101, yy311, new_asAs1(yy301, yy3101))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Zero)), :(:%(Neg(Succ(Zero)), Neg(Zero)), yy311)) → new_groupByZs06(Zero, Neg(Zero), Zero, Neg(Zero), yy311)
new_groupByZs0148(yy498, yy499) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy499)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), yy311)) → new_groupByZs014(Succ(Succ(Succ(Zero))), Neg(Succ(Zero)), Succ(Succ(Succ(Zero))), Neg(Succ(Zero)), yy311)
new_span2Ys26(yy612, []) → []
new_span2Ys22([]) → []
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Zero)), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs086(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_span2Zs116(yy760, yy7610, yy7611, True) → new_span2Zs117(yy760, yy7610, yy7611, new_span2Ys23(yy760, yy7611), new_span2Zs19(yy760, yy7611))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), yy311)) → new_span2Zs31(yy311)
new_groupByZs042(yy301, yy310000000000, yy3101, yy311, True) → new_groupByZs014(Succ(Succ(Succ(Succ(Succ(Zero))))), yy301, Succ(Succ(Succ(Succ(Succ(Succ(yy310000000000)))))), yy3101, yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Zero)), yy311)) → new_groupByZs06(Succ(Succ(Zero)), Pos(Zero), Succ(Succ(Zero)), Neg(Zero), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs00(Succ(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(yy3010000))))), :(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs0118(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy311)
new_groupByZs041(yy172, yy173, yy174, yy175, True) → new_groupByZs014(yy172, yy173, Succ(Succ(Succ(Succ(Succ(Zero))))), yy174, yy175)
new_groupByZs061(yy30100000000, yy310100000000, yy311, True) → new_groupByZs014(Zero, Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))))), Zero, Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000)))))))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), yy301), :(:%(Neg(Succ(Succ(Succ(Succ(yy310000000))))), yy3101), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(yy310000000))))), yy3101), yy311)
new_span2Zs111(yy720, yy7210, yy7211, True) → new_span2Zs123(yy720, yy7210, yy7211, new_span2Ys21(yy720, yy7211), new_span2Zs24(yy720, yy7211))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))), yy311)) → new_groupByZs06(Succ(Zero), Pos(Succ(Zero)), Succ(Zero), Pos(Succ(Zero)), yy311)
new_groupByZs08(yy301000000000, yy3101000000000, yy311, True) → new_groupByZs010(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy3101000000000, yy311, new_span2Ys21(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311), new_span2Zs24(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Zero))), :(:%(Pos(Zero), Pos(Succ(Succ(yy3101000)))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0163(yy301000000000, yy3101000000000, yy311, yy1308, yy1307) → yy1307
new_groupByZs0(yy30, []) → []
new_groupByZs065(yy705, yy706) → :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy706)
new_span2Ys122(yy3110, yy3111, True) → new_span2Ys113(yy3110, yy3111, new_span2Ys27(yy3111), new_span2Zs41(yy3111))
new_groupByZs0(:%(Pos(Zero), Pos(Zero)), :(:%(Pos(Zero), Pos(Zero)), yy311)) → new_span2Zs33(yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), :(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), yy311)) → new_span2Zs30(yy311)
new_span2Zs125(yy408, yy409, yy4120, yy4121, False) → :(yy4120, yy4121)
new_groupByZs0121(yy748, yy749) → new_groupByZs06(Zero, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Zero, Pos(Succ(yy748)), yy749)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Zero))), :(:%(Pos(Zero), Pos(Succ(Zero))), yy311)) → new_span2Zs40(yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(yy30100))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(yy31010)), yy311)) → new_groupByZs0107(yy30100, Succ(Succ(Zero)), yy31010, yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs0139(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy301), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy3101), yy311)) → new_groupByZs041(Succ(Succ(Succ(Succ(Succ(Zero))))), yy301, yy3101, yy311, new_asAs2(yy301, yy3101))
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs0(yy8000, yy9000, yy81, yy91)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), yy311)) → new_groupByZs014(Succ(Zero), Pos(Succ(Succ(Zero))), Succ(Zero), Pos(Succ(Succ(Zero))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy301), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy3101), yy311)) → new_groupByZs011(yy301, Succ(Succ(Succ(Succ(Zero)))), yy3101, yy311)
new_groupByZs0142(yy301000000000, yy3101000000000, yy311, False) → new_groupByZs0144(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy3101000000000, yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Zero)), :(:%(Neg(Zero), Neg(Zero)), yy311)) → new_span2Zs22(yy311)
new_span2Ys23(yy652, []) → []
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(yy3010000))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs068(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → new_groupByZs044(yy30100000, yy310100000, yy311, new_primEqNat0(yy30100000, yy310100000))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs0129(yy1214, yy1215, yy1216) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy1215)))))))))), yy1216)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs011(Pos(Succ(Succ(yy63000))), yy64, Pos(Succ(Zero)), yy66) → new_groupByZs013(Zero, Pos(Succ(Succ(yy63000))), yy64, Pos(Succ(Zero)), yy66)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs014(Succ(Zero), Pos(Succ(Succ(Succ(Zero)))), Succ(Zero), Pos(Succ(Succ(Succ(Zero)))), yy311)
new_span2Zs33([]) → []
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(yy30100))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(yy31010)), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(yy31010)), yy311)
new_groupByZs07(yy1302, yy1303, yy1304) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(yy1303)))))), yy1304)
new_groupByZs076(yy453, yy454) → new_span2Zs28(yy454)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs025(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311)
new_span2Zs127(yy384, yy385, yy3880, yy3881, False) → :(yy3880, yy3881)
new_span2Ys20([]) → []
new_span2Zs125(yy408, yy409, yy4120, yy4121, True) → new_span2Zs115(yy408, yy409, yy4120, yy4121, new_span2Zs47(yy408, yy409, yy4121))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(yy301000)))), :(:%(Neg(Zero), Neg(Succ(Zero))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Zero))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs067(yy30100000000, yy310100000000, yy311, True) → new_groupByZs014(Zero, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))))), Zero, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000)))))))), yy311)
new_span2Zs34(:(yy3110, yy3111)) → new_span2Zs118(Succ(Succ(Succ(Zero))), yy3110, yy3111, new_esEs(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy3110))
new_span2Ys115(yy612, yy6130, yy6131, yy1335, yy1334) → :(yy6130, yy1335)
new_asAs0(Succ(yy80000), Zero, yy81, yy91) → new_asAs1(yy81, yy91)
new_asAs0(Zero, Succ(yy90000), yy81, yy91) → new_asAs1(yy81, yy91)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0133(yy486, yy487) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy487)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Zero)), :(:%(Pos(Succ(Succ(Zero))), Pos(Zero)), yy311)) → new_groupByZs014(Succ(Zero), Pos(Zero), Succ(Zero), Pos(Zero), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_groupByZs06(Zero, Neg(Succ(Succ(Succ(Succ(Zero))))), Zero, Neg(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs064(Succ(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0142(yy301000000000, yy3101000000000, yy311, True) → new_groupByZs0167(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy3101000000000, yy311, new_span2Ys23(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311), new_span2Zs19(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs082(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311)
new_groupByZs0165(yy1126, yy1127, yy1280, yy1279) → yy1279
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Zero)), :(:%(Pos(Succ(Zero)), Pos(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Zero)), Pos(Succ(yy310100))), yy311)
new_groupByZs0115(yy1202, yy1203, yy1204) → :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy1203)))))))), yy1204)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs066(yy708, yy709) → new_groupByZs014(Zero, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Zero, Pos(Succ(yy708)), yy709)
new_groupByZs050(yy301000000, yy3101000000, yy311, False) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs081(yy726, yy727) → new_span2Zs44(yy726, yy727)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), yy311)) → new_span2Zs38(yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(yy310100))), yy311)
new_span2Ys117(yy606, yy6070, yy6071, yy1333, yy1332) → :(yy6070, yy1333)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(yy301000)))), :(:%(Pos(Zero), Pos(Succ(Zero))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Zero))), yy311)
new_groupByZs062(yy1028, yy1029) → :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy1029)
new_groupByZs011(Pos(Zero), yy64, Neg(Zero), yy66) → new_groupByZs014(Succ(Succ(Succ(Succ(Zero)))), Pos(Zero), yy64, Neg(Zero), yy66)
new_groupByZs011(Neg(Zero), yy64, Pos(Zero), yy66) → new_groupByZs014(Succ(Succ(Succ(Succ(Zero)))), Neg(Zero), yy64, Pos(Zero), yy66)
new_groupByZs0(:%(Neg(Zero), Pos(Zero)), :(:%(Neg(Zero), Pos(Succ(yy310100))), yy311)) → :(:%(Neg(Zero), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_span2Zs42(yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Zero)), :(:%(Pos(Zero), Neg(Succ(yy310100))), yy311)) → :(:%(Pos(Zero), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Zero)), :(:%(Neg(Zero), Pos(Succ(yy310100))), yy311)) → :(:%(Neg(Zero), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Zero)), :(:%(Pos(Zero), Neg(Succ(yy310100))), yy311)) → :(:%(Pos(Zero), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), yy311)) → new_groupByZs014(Succ(Succ(Succ(Zero))), Pos(Zero), Succ(Succ(Succ(Zero))), Neg(Zero), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))), yy311)) → new_groupByZs06(Succ(Succ(Zero)), Neg(Succ(Zero)), Succ(Succ(Zero)), Neg(Succ(Zero)), yy311)
new_groupByZs039(yy300000000000, yy301, yy3100000000000, yy3101, yy311, True) → new_groupByZs014(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy300000000000))))))), yy301, Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3100000000000))))))), yy3101, yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy300000000000))))))))), yy301), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3100000000000))))))))), yy3101), yy311)) → new_groupByZs093(yy300000000000, yy301, yy3100000000000, yy3101, yy311, new_asAs0(yy300000000000, yy3100000000000, yy301, yy3101))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs056(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_span2Ys21(yy606, []) → []
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(yy3010000))))), :(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(yy3010000))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(yy3010000))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Zero))), :(:%(Neg(Zero), Neg(Succ(Succ(yy3101000)))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs0152(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy311)
new_span2Ys118(yy652, yy6530, yy6531, True) → new_span2Ys119(yy652, yy6530, yy6531, new_span2Ys23(yy652, yy6531), new_span2Zs19(yy652, yy6531))
new_asAs2(Pos(Succ(yy8100)), Pos(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_span2Ys124(yy3110, yy3111, True) → new_span2Ys123(yy3110, yy3111, new_span2Ys24(yy3111), new_span2Zs25(yy3111))
new_span2Zs119(yy3110, yy3111, yy148, yy147) → yy147
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(yy300000))), yy301), :(:%(Neg(Succ(Zero)), yy3101), yy311)) → :(:%(Neg(Succ(Zero)), yy3101), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), yy301), :(:%(Pos(Succ(Succ(Succ(yy31000000)))), yy3101), yy311)) → :(:%(Pos(Succ(Succ(Succ(yy31000000)))), yy3101), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Zero)), :(:%(Pos(Succ(Succ(Zero))), Neg(Zero)), yy311)) → new_groupByZs014(Succ(Zero), Neg(Zero), Succ(Zero), Neg(Zero), yy311)
new_span2Zs37(:(yy3110, yy3111)) → new_span2Zs116(Succ(Succ(Succ(Zero))), yy3110, yy3111, new_esEs(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy3110))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Zero)), :(:%(Neg(Succ(Succ(Zero))), Pos(Zero)), yy311)) → new_groupByZs06(Succ(Zero), Pos(Zero), Succ(Zero), Pos(Zero), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_span2Ys114(yy658, yy6590, yy6591, False) → []
new_groupByZs0131(yy757, yy758) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy758)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Zero)), :(:%(Pos(Succ(Zero)), Pos(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Zero)), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy301), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31000000000))))))), yy3101), yy311)) → new_groupByZs013(Zero, yy301, Succ(Succ(Succ(Succ(Succ(yy31000000000))))), yy3101, yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), yy311)) → new_groupByZs06(Succ(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), yy311)
new_span2Zs46(yy384, yy385, []) → []
new_span2Ys27(:(yy3110, yy3111)) → new_span2Ys122(yy3110, yy3111, new_esEs(:%(Neg(Zero), Pos(Zero)), yy3110))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(yy310100))), yy311)
new_span2Ys112(yy3110, yy3111, True) → new_span2Ys120(yy3110, yy3111, new_span2Ys22(yy3111), new_span2Zs33(yy3111))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))), yy311)) → new_groupByZs014(Succ(Succ(Zero)), Neg(Succ(Succ(Zero))), Succ(Succ(Zero)), Neg(Succ(Succ(Zero))), yy311)
new_span2Zs110(yy3110, yy3111, yy159, yy158) → yy158
new_groupByZs0(:%(Pos(Zero), yy301), :(:%(Pos(Succ(yy310000)), yy3101), yy311)) → :(:%(Pos(Succ(yy310000)), yy3101), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Zero))), :(:%(Neg(Succ(Zero)), Pos(Succ(Zero))), yy311)) → new_groupByZs06(Zero, Pos(Succ(Zero)), Zero, Pos(Succ(Zero)), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(yy3010000))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → new_groupByZs0106(yy301000000, yy3101000000, yy311, new_primEqNat0(yy301000000, yy3101000000))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Zero)), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(yy310100))), yy311)
new_span2Ys26(yy612, :(yy6130, yy6131)) → new_span2Ys121(yy612, yy6130, yy6131, new_esEs(:%(Pos(Zero), Neg(Succ(yy612))), yy6130))
new_groupByZs0100(Neg(Zero), yy74, Neg(Succ(yy7500)), yy76) → new_groupByZs099(Zero, Neg(Zero), yy74, Neg(Succ(yy7500)), yy76)
new_groupByZs0143(yy1116, yy1117) → new_groupByZs0147(yy1116, Zero, yy1117)
new_span2Ys116(yy606, yy6070, yy6071, True) → new_span2Ys117(yy606, yy6070, yy6071, new_span2Ys21(yy606, yy6071), new_span2Zs24(yy606, yy6071))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(yy300000000)))))), yy301), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), yy3101), yy311)) → new_groupByZs013(yy300000000, yy301, Succ(Succ(Succ(Zero))), yy3101, yy311)
new_groupByZs0145(yy1119, yy1120) → new_groupByZs021(yy1119, yy1120, new_span2Ys23(yy1119, yy1120), new_span2Zs19(yy1119, yy1120))
new_groupByZs084(yy732, yy733) → new_span2Zs24(yy732, yy733)
new_groupByZs061(yy30100000000, yy310100000000, yy311, False) → new_groupByZs063(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy310100000000, yy311)
new_groupByZs028(yy1230, yy1231, yy1232) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy1231)))))))))), yy1232)
new_groupByZs070(yy711, yy712) → :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy712)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))), yy311)) → new_groupByZs06(Succ(Succ(Zero)), Neg(Succ(Succ(Zero))), Succ(Succ(Zero)), Neg(Succ(Succ(Zero))), yy311)
new_span2Zs43(:(yy3110, yy3111)) → new_span2Zs113(Succ(Zero), yy3110, yy3111, new_esEs(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), yy3110))
new_groupByZs035(yy218, yy219, yy220) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), yy220)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs06(Succ(Zero), Pos(Succ(Succ(Succ(Zero)))), Succ(Zero), Pos(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Zero)), :(:%(Neg(Succ(Succ(Zero))), Neg(Zero)), yy311)) → new_groupByZs06(Succ(Zero), Pos(Zero), Succ(Zero), Neg(Zero), yy311)
new_span2Zs30([]) → []
new_groupByZs0(:%(Pos(Zero), Neg(Zero)), :(:%(Neg(Zero), Pos(Zero)), yy311)) → new_span2Zs25(yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Zero)), :(:%(Pos(Zero), Neg(Zero)), yy311)) → new_span2Zs25(yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(yy30100))), :(:%(Pos(Zero), Neg(yy31010)), yy311)) → :(:%(Pos(Zero), Neg(yy31010)), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(yy30100))), :(:%(Neg(Zero), Pos(yy31010)), yy311)) → :(:%(Neg(Zero), Pos(yy31010)), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_groupByZs06(Succ(Zero), Neg(Succ(Succ(Succ(Succ(Zero))))), Succ(Zero), Neg(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs014(Succ(Zero), Neg(Succ(Succ(Succ(Zero)))), Succ(Zero), Neg(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_span2Zs20(yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(yy30100))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(yy31010)), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(yy31010)), yy311)
new_groupByZs010(yy1314, yy1315, yy1316, yy1317, yy1318) → yy1318
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(yy30100))), :(:%(Pos(Succ(Zero)), Pos(yy31010)), yy311)) → :(:%(Pos(Succ(Zero)), Pos(yy31010)), yy311)
new_groupByZs075(yy450, yy451) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy451)
new_groupByZs0166(yy937, yy938, yy939) → new_groupByZs099(Zero, Pos(Succ(Zero)), yy937, Pos(Succ(yy938)), yy939)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → new_groupByZs0115(Succ(Succ(Succ(Succ(Zero)))), yy31010000000, yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Zero)), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Zero)), yy311)) → new_groupByZs06(Succ(Succ(Zero)), Neg(Zero), Succ(Succ(Zero)), Neg(Zero), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs030(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Zero)), :(:%(Neg(Succ(Zero)), Pos(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Zero)), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs0126(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Zero)), :(:%(Neg(Zero), Neg(Succ(yy310100))), yy311)) → :(:%(Neg(Zero), Neg(Succ(yy310100))), yy311)
new_span2Zs35(:(yy3110, yy3111)) → new_span2Zs118(Succ(Zero), yy3110, yy3111, new_esEs(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), yy3110))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(yy3010000))))), :(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Zero)), :(:%(Neg(Succ(Succ(Zero))), Pos(Zero)), yy311)) → new_groupByZs06(Succ(Zero), Neg(Zero), Succ(Zero), Pos(Zero), yy311)
new_groupByZs072(yy301000000000, yy3101000000000, yy311, False) → new_groupByZs016(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy3101000000000, yy311)
new_span2Zs29([]) → []
new_groupByZs0(:%(Pos(Zero), Neg(Succ(yy30100))), :(:%(Neg(Zero), Neg(Zero)), yy311)) → :(:%(Neg(Zero), Neg(Zero)), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(yy3010000))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))), yy311)) → :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(yy3010000))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))), yy311)) → :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))), yy311)
new_groupByZs056(yy1017, yy1018) → new_groupByZs014(Succ(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Succ(Zero), Pos(Succ(yy1017)), yy1018)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(yy30000000))))), yy301), :(:%(Pos(Succ(Succ(Succ(Zero)))), yy3101), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), yy3101), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(yy3101000)))), yy311)) → new_groupByZs0109(Zero, Succ(yy3101000), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Zero))), :(:%(Pos(Zero), Pos(Succ(Succ(yy3101000)))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Neg(Succ(yy30000)), yy301), :(:%(Pos(yy31000), yy3101), yy311)) → :(:%(Pos(yy31000), yy3101), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_groupByZs06(Succ(Zero), Pos(Succ(Succ(Succ(Succ(Zero))))), Succ(Zero), Pos(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0159(yy1105, yy1106, yy1272, yy1271) → yy1271
new_groupByZs071(yy714, yy715) → new_groupByZs014(Zero, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Zero, Neg(Succ(yy714)), yy715)
new_span2Ys20(:(yy3110, yy3111)) → new_span2Ys110(yy3110, yy3111, new_esEs(:%(Neg(Zero), Neg(Zero)), yy3110))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(yy301000)))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(yy3101000)))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs081(Succ(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0122(yy572, yy573) → :(:%(Neg(Succ(Zero)), Pos(Succ(yy572))), yy573)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(yy3010000))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), yy311)
new_span2Ys121(yy612, yy6130, yy6131, True) → new_span2Ys115(yy612, yy6130, yy6131, new_span2Ys26(yy612, yy6131), new_span2Zs44(yy612, yy6131))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), yy311)) → new_groupByZs06(Succ(Zero), Pos(Succ(Succ(Zero))), Succ(Zero), Pos(Succ(Succ(Zero))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs0109(Succ(Succ(Succ(yy30100000))), Succ(Succ(Zero)), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), yy311)) → new_groupByZs06(Succ(Succ(Succ(Zero))), Neg(Succ(Zero)), Succ(Succ(Succ(Zero))), Neg(Succ(Zero)), yy311)
new_groupByZs058(yy1021, yy1022) → :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy1022)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs0114(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs0116(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(yy301000)))), :(:%(Pos(Succ(Zero)), Pos(Succ(Zero))), yy311)) → :(:%(Pos(Succ(Zero)), Pos(Succ(Zero))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy300000000000))))))))), yy301), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy3101), yy311)) → new_groupByZs040(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy300000000000))))))), yy301, yy3101, yy311, new_asAs1(yy301, yy3101))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), :(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), yy311)) → new_span2Zs43(yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs073(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311)
new_groupByZs0147(yy941, yy942, yy943) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy942))))))))), yy943)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Zero)), :(:%(Pos(Succ(Zero)), Neg(Zero)), yy311)) → new_groupByZs014(Zero, Pos(Zero), Zero, Neg(Zero), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0152(yy775, yy776) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy776)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(yy30100))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Zero)), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Zero)), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs024(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30000000000)))))))), yy301), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy3101), yy311)) → new_groupByZs041(Succ(Succ(Succ(Succ(Succ(Succ(yy30000000000)))))), yy301, yy3101, yy311, new_asAs1(yy301, yy3101))
new_groupByZs099(yy90, yy91, yy92, yy93, yy94) → :(:%(Neg(Succ(yy92)), yy93), yy94)
new_span2Zs22([]) → []
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(yy30100))), :(:%(Pos(Succ(Succ(Zero))), Neg(yy31010)), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Neg(yy31010)), yy311)
new_groupByZs017(yy301, yy3100000000000, yy3101, yy311, False) → new_groupByZs018(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy301, yy3100000000000, yy3101, yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(yy30100))), :(:%(Pos(Succ(Succ(Zero))), Pos(yy31010)), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Pos(yy31010)), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs091(Succ(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs058(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_groupByZs053(yy3010000000, yy31010000000, yy311, True) → new_groupByZs014(Succ(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000))))))), Succ(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000))))))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0127(yy754, yy755) → new_groupByZs06(Zero, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Zero, Neg(Succ(yy754)), yy755)
new_groupByZs0158(yy301000000000, yy3101000000000, yy311, yy1306, yy1305) → yy1305
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs0131(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy311)
new_groupByZs044(yy30100000, yy310100000, yy311, True) → new_groupByZs014(Succ(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(yy30100000))))), Succ(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(yy310100000))))), yy311)
new_span2Zs111(yy720, yy7210, yy7211, False) → :(yy7210, yy7211)
new_groupByZs096(yy189, yy190, yy191, yy192, True) → new_groupByZs06(yy189, yy190, Succ(Succ(Succ(Succ(Succ(Zero))))), yy191, yy192)
new_span2Zs27(:(yy4600, yy4601)) → new_span2Zs118(Succ(Succ(Succ(Succ(Zero)))), yy4600, yy4601, new_esEs(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy4600))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), yy311)) → new_groupByZs014(Succ(Succ(Zero)), Pos(Zero), Succ(Succ(Zero)), Pos(Zero), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs011(Neg(Succ(Zero)), yy64, Neg(Succ(Succ(yy65000))), yy66) → new_groupByZs013(Zero, Neg(Succ(Zero)), yy64, Neg(Succ(Succ(yy65000))), yy66)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → new_groupByZs061(yy30100000000, yy310100000000, yy311, new_primEqNat0(yy30100000000, yy310100000000))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs06(Succ(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Succ(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs05(yy1098, yy1099) → new_groupByZs06(Zero, Neg(Succ(yy1098)), Zero, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy1099)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs03(yy1123, yy1124) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy1124)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Zero)), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy3000000000))))))), yy301), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy3101), yy311)) → new_groupByZs043(Succ(Succ(Succ(Succ(Succ(yy3000000000))))), yy301, yy3101, yy311)
new_groupByZs011(Pos(Zero), yy64, Pos(Succ(yy6500)), yy66) → new_groupByZs013(Zero, Pos(Zero), yy64, Pos(Succ(yy6500)), yy66)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Zero)), :(:%(Pos(Succ(Zero)), Neg(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Zero)), Neg(Succ(yy310100))), yy311)
new_groupByZs052(yy301000000, yy3101000000, yy311, True) → new_groupByZs014(Succ(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(yy301000000)))))), Succ(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000)))))), yy311)
new_groupByZs057(yy3010000000, yy31010000000, yy311, True) → new_groupByZs014(Succ(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000))))))), Succ(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000))))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(yy3101000)))), yy311)) → new_groupByZs02(Succ(Succ(Succ(Zero))), yy3101000, yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(yy30100))), :(:%(Neg(Succ(Zero)), Neg(Zero)), yy311)) → :(:%(Neg(Succ(Zero)), Neg(Zero)), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs028(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy3101000000000, yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Zero)), :(:%(Neg(Zero), Neg(Zero)), yy311)) → new_span2Zs33(yy311)
new_span2Zs38(:(yy3110, yy3111)) → new_span2Zs116(Succ(Succ(Zero)), yy3110, yy3111, new_esEs(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), yy3110))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), yy311)) → new_groupByZs014(Succ(Succ(Succ(Zero))), Pos(Zero), Succ(Succ(Succ(Zero))), Pos(Zero), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs060(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0117(yy30100000000, yy310100000000, yy311, True) → new_groupByZs06(Zero, Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))))), Zero, Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000)))))))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Zero)), :(:%(Pos(Succ(Zero)), Neg(Zero)), yy311)) → new_groupByZs014(Zero, Neg(Zero), Zero, Neg(Zero), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → new_groupByZs036(yy3010000000, yy31010000000, yy311, new_primEqNat0(yy3010000000, yy31010000000))
new_span2Zs21(:(yy3110, yy3111)) → new_span2Zs113(Succ(Succ(Zero)), yy3110, yy3111, new_esEs(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), yy3110))
new_groupByZs0106(yy301000000, yy3101000000, yy311, False) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs0100(Pos(Succ(Succ(yy73000))), yy74, Pos(Succ(Zero)), yy76) → new_groupByZs099(Zero, Pos(Succ(Succ(yy73000))), yy74, Pos(Succ(Zero)), yy76)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs077(yy301000000000, yy3101000000000, yy311, new_primEqNat0(yy301000000000, yy3101000000000))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Zero))), :(:%(Pos(Zero), Neg(Succ(Zero))), yy311)) → new_span2Zs36(yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(yy30100))), :(:%(Neg(Succ(Succ(Zero))), Neg(Zero)), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Neg(Zero)), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)
new_groupByZs093(yy300000000000, yy301, yy3100000000000, yy3101, yy311, True) → new_groupByZs06(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy300000000000))))))), yy301, Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3100000000000))))))), yy3101, yy311)
new_groupByZs0150(yy301000000000, yy3101000000000, yy311, True) → new_groupByZs0156(yy301000000000, yy3101000000000, yy311, new_span2Ys25(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311), new_span2Zs23(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs0137(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy3101000000000, yy311)
new_span2Zs33(:(yy3110, yy3111)) → new_span2Zs126(yy3110, yy3111, new_esEs(:%(Pos(Zero), Pos(Zero)), yy3110))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs026(yy1059, yy1060, yy1265, yy1264) → yy1264
new_groupByZs045(yy701, yy702, yy703) → :(:%(Pos(Succ(yy701)), Pos(Succ(Succ(Succ(yy702))))), yy703)
new_groupByZs0151(yy1126, yy1127) → new_groupByZs0165(yy1126, yy1127, new_span2Ys25(yy1126, yy1127), new_span2Zs23(yy1126, yy1127))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), yy301), :(:%(Pos(Succ(Succ(Succ(Succ(yy310000000))))), yy3101), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(yy310000000))))), yy3101), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Zero))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(yy3101000)))), yy311)) → :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0170(yy301000000000, yy3101000000000, yy311, yy1294, yy1293) → yy1293
new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs0(yy8000, yy9000, yy81, yy91)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(yy30100))), :(:%(Neg(Zero), Pos(yy31010)), yy311)) → :(:%(Neg(Zero), Pos(yy31010)), yy311)
new_groupByZs014(yy384, yy385, yy386, yy387, yy388) → new_span2Zs46(yy384, yy385, yy388)
new_span2Ys122(yy3110, yy3111, False) → []
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(yy3010000))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(yy3010000))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(yy30100))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), yy311)) → new_groupByZs014(Succ(Zero), Neg(Succ(Succ(Zero))), Succ(Zero), Neg(Succ(Succ(Zero))), yy311)
new_groupByZs0164(yy1066, yy1067, yy1267, yy1266) → yy1266
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Zero)), :(:%(Neg(Succ(Zero)), Pos(Zero)), yy311)) → new_groupByZs06(Zero, Neg(Zero), Zero, Pos(Zero), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs0143(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311)
new_asAs2(Pos(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Pos(Succ(yy8100)), Pos(Zero)) → False
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy301), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy3101), yy311)) → new_groupByZs096(Succ(Succ(Succ(Succ(Succ(Zero))))), yy301, yy3101, yy311, new_asAs2(yy301, yy3101))
new_groupByZs057(yy3010000000, yy31010000000, yy311, False) → new_groupByZs059(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy31010000000, yy311)
new_groupByZs087(yy301000000000, yy3101000000000, yy311, True) → new_groupByZs020(yy301000000000, yy3101000000000, yy311, new_span2Ys26(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311), new_span2Zs44(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311))
new_groupByZs074(yy717, yy718) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy718)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → new_groupByZs0104(yy30100000, yy310100000, yy311, new_primEqNat0(yy30100000, yy310100000))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs016(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy3101000000000, yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Zero))), :(:%(Pos(Succ(Zero)), Neg(Succ(Zero))), yy311)) → new_groupByZs014(Zero, Neg(Succ(Zero)), Zero, Neg(Succ(Zero)), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(yy301000)))), :(:%(Pos(Zero), Pos(Succ(Zero))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Zero))), yy311)
new_groupByZs082(yy1056, yy1057) → new_groupByZs083(yy1056, Zero, yy1057)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs076(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_groupByZs049(yy30100000, yy310100000, yy311, True) → new_groupByZs014(Succ(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(yy30100000))))), Succ(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(yy310100000))))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs064(yy1031, yy1032) → new_groupByZs014(Zero, Pos(Succ(yy1031)), Zero, Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy1032)
new_asAs0(Zero, Zero, yy81, yy91) → new_asAs2(yy81, yy91)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs0120(Succ(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Zero)), :(:%(Pos(Succ(Succ(Zero))), Pos(Zero)), yy311)) → new_groupByZs014(Succ(Zero), Neg(Zero), Succ(Zero), Pos(Zero), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)
new_groupByZs0141(yy495, yy496) → new_span2Zs45(yy496)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(yy30100))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(yy31010)), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(yy31010)), yy311)
new_groupByZs0169(yy73000, yy74, yy75000, yy76, True) → new_groupByZs06(Succ(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(yy73000))), yy74, Pos(Succ(Succ(yy75000))), yy76)
new_groupByZs025(yy1049, yy1050) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy1050)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0100(Neg(Zero), yy74, Neg(Zero), yy76) → new_groupByZs06(Succ(Succ(Succ(Succ(Zero)))), Neg(Zero), yy74, Neg(Zero), yy76)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → new_groupByZs0109(Succ(Succ(Zero)), Succ(Succ(Succ(yy310100000))), yy311)
new_groupByZs0100(Pos(Succ(yy7300)), yy74, Pos(Zero), yy76) → new_groupByZs099(Zero, Pos(Succ(yy7300)), yy74, Pos(Zero), yy76)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(yy301000)))), :(:%(Neg(Succ(Zero)), Pos(Succ(Zero))), yy311)) → :(:%(Neg(Succ(Zero)), Pos(Succ(Zero))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), yy311)) → new_groupByZs06(Succ(Succ(Zero)), Pos(Succ(Zero)), Succ(Succ(Zero)), Pos(Succ(Zero)), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(yy301000)))), :(:%(Pos(Succ(Zero)), Neg(Succ(Zero))), yy311)) → :(:%(Pos(Succ(Zero)), Neg(Succ(Zero))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Zero))), :(:%(Pos(Succ(Zero)), Pos(Succ(Zero))), yy311)) → new_groupByZs014(Zero, Pos(Succ(Zero)), Zero, Pos(Succ(Zero)), yy311)
new_asAs0(Succ(yy80000), Succ(yy90000), yy81, yy91) → new_asAs0(yy80000, yy90000, yy81, yy91)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Zero)), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(yy310100))), yy311)
new_groupByZs0100(Pos(Succ(yy7300)), yy74, Neg(yy750), yy76) → new_groupByZs099(Zero, Pos(Succ(yy7300)), yy74, Neg(yy750), yy76)
new_groupByZs0100(Neg(Succ(yy7300)), yy74, Pos(yy750), yy76) → new_groupByZs099(Zero, Neg(Succ(yy7300)), yy74, Pos(yy750), yy76)
new_groupByZs089(yy1190, yy1191, yy1192) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy1191)))))))))), yy1192)
new_span2Zs112(yy766, yy7670, yy7671, yy1352, yy1351) → yy1351
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy300000000000))))))))), yy301), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3100000000000))))))))), yy3101), yy311)) → new_groupByZs039(yy300000000000, yy301, yy3100000000000, yy3101, yy311, new_asAs0(yy300000000000, yy3100000000000, yy301, yy3101))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(yy301000)))), :(:%(Neg(Zero), Pos(Succ(Zero))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Zero))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(yy301000)))), :(:%(Pos(Zero), Neg(Succ(Zero))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Zero))), yy311)
new_groupByZs092(yy471, yy472) → new_span2Zs27(yy472)
new_groupByZs02(yy482, yy483, yy484) → :(:%(Neg(Succ(yy482)), Pos(Succ(Succ(yy483)))), yy484)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)
new_groupByZs0100(Neg(Succ(yy7300)), yy74, Neg(Zero), yy76) → new_groupByZs099(Zero, Neg(Succ(yy7300)), yy74, Neg(Zero), yy76)
new_groupByZs0(:%(Neg(Succ(yy30000)), yy301), :(:%(Neg(Zero), yy3101), yy311)) → :(:%(Neg(Zero), yy3101), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(yy3010000))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), yy311)
new_span2Zs42(:(yy3110, yy3111)) → new_span2Zs113(Succ(Succ(Succ(Zero))), yy3110, yy3111, new_esEs(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy3110))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_groupByZs014(Succ(Zero), Neg(Succ(Succ(Succ(Succ(Zero))))), Succ(Zero), Neg(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_groupByZs014(Zero, Pos(Succ(Succ(Succ(Succ(Zero))))), Zero, Pos(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_asAs2(Pos(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Neg(Zero), Pos(Succ(yy9100))) → False
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Zero))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(yy3101000)))), yy311)) → :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0123(yy30100000000, yy310100000000, yy311, False) → new_groupByZs0125(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy310100000000, yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Zero)), :(:%(Neg(Succ(Succ(Zero))), Neg(Zero)), yy311)) → new_groupByZs06(Succ(Zero), Neg(Zero), Succ(Zero), Neg(Zero), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), yy311)) → new_span2Zs29(yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), :(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), yy311)) → new_span2Zs39(yy311)
new_groupByZs0100(Pos(Zero), yy74, Neg(Zero), yy76) → new_groupByZs06(Succ(Succ(Succ(Succ(Zero)))), Pos(Zero), yy74, Neg(Zero), yy76)
new_groupByZs0100(Neg(Zero), yy74, Pos(Zero), yy76) → new_groupByZs06(Succ(Succ(Succ(Succ(Zero)))), Neg(Zero), yy74, Pos(Zero), yy76)
new_span2Ys111(yy3110, yy3111, yy140, yy139) → :(yy3110, yy140)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_groupByZs014(Succ(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Succ(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_span2Ys124(yy3110, yy3111, False) → []
new_groupByZs040(yy372, yy373, yy374, yy375, False) → new_groupByZs027(yy372, yy373, Zero, yy374, yy375)
new_span2Zs37([]) → []
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(yy3101000)))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(yy3101000)))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(yy3101000)))), yy311)
new_asAs2(Neg(Zero), Neg(Zero)) → True
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Zero))), :(:%(Neg(Zero), Pos(Succ(Succ(yy3101000)))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0109(yy1320, yy1321, yy1322) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(yy1321))), yy1322)
new_groupByZs043(yy58, yy59, yy60, yy61) → :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy60), yy61)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), yy311)) → new_groupByZs06(Succ(Succ(Succ(Zero))), Pos(Zero), Succ(Succ(Succ(Zero))), Pos(Zero), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(yy30100))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), yy311)) → new_groupByZs047(Succ(Succ(Succ(Zero))), yy30100, yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(yy30100))), :(:%(Pos(Zero), Pos(yy31010)), yy311)) → :(:%(Pos(Zero), Pos(yy31010)), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Zero)), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), yy311)) → new_groupByZs014(Succ(Succ(Zero)), Neg(Zero), Succ(Succ(Zero)), Pos(Zero), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs014(Succ(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Succ(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Zero))), :(:%(Neg(Zero), Neg(Succ(Succ(yy3101000)))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(yy3101000)))), yy311)
new_span2Ys22(:(yy3110, yy3111)) → new_span2Ys112(yy3110, yy3111, new_esEs(:%(Pos(Zero), Pos(Zero)), yy3110))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → new_groupByZs052(yy301000000, yy3101000000, yy311, new_primEqNat0(yy301000000, yy3101000000))
new_groupByZs0126(yy751, yy752) → :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy752)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → new_groupByZs0110(Succ(Succ(Succ(Succ(yy3101000000)))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))), yy311)) → new_groupByZs014(Zero, Neg(Succ(Succ(Zero))), Zero, Neg(Succ(Succ(Zero))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs06(Zero, Neg(Succ(Succ(Succ(Zero)))), Zero, Neg(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs074(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0130(yy1105, yy1106) → new_groupByZs0159(yy1105, yy1106, new_span2Ys23(yy1105, yy1106), new_span2Zs19(yy1105, yy1106))
new_groupByZs095(yy301, yy3100000000000, yy3101, yy311, True) → new_groupByZs06(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy301, Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3100000000000))))))), yy3101, yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → new_groupByZs0119(Succ(Succ(Succ(Succ(Succ(Zero))))), yy310100000000, yy311)
new_groupByZs011(Pos(Succ(yy6300)), yy64, Pos(Zero), yy66) → new_groupByZs013(Zero, Pos(Succ(yy6300)), yy64, Pos(Zero), yy66)
new_groupByZs0135(yy301000000000, yy3101000000000, yy311, False) → new_groupByZs0137(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy3101000000000, yy311)
new_span2Zs121(yy3110, yy3111, True) → new_span2Zs129(yy3110, yy3111, new_span2Ys20(yy3111), new_span2Zs22(yy3111))
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → new_groupByZs067(yy30100000000, yy310100000000, yy311, new_primEqNat0(yy30100000000, yy310100000000))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs0124(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy301), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310000000000)))))))), yy3101), yy311)) → new_groupByZs042(yy301, yy310000000000, yy3101, yy311, new_asAs1(yy301, yy3101))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → new_groupByZs050(yy301000000, yy3101000000, yy311, new_primEqNat0(yy301000000, yy3101000000))
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs088(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Zero)), yy311)) → new_groupByZs014(Succ(Succ(Zero)), Pos(Zero), Succ(Succ(Zero)), Neg(Zero), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Zero)), :(:%(Neg(Succ(Zero)), Neg(Zero)), yy311)) → new_groupByZs06(Zero, Pos(Zero), Zero, Neg(Zero), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), yy311)) → new_span2Zs21(yy311)
new_span2Ys120(yy3110, yy3111, yy114, yy113) → :(yy3110, yy114)
new_groupByZs036(yy3010000000, yy31010000000, yy311, False) → new_groupByZs037(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy31010000000, yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), yy311)) → new_span2Zs21(yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)
new_groupByZs086(yy465, yy466) → new_span2Zs28(yy466)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_span2Zs34(yy311)
new_span2Zs26(:(yy3110, yy3111)) → new_span2Zs113(Zero, yy3110, yy3111, new_esEs(:%(Neg(Zero), Neg(Succ(Zero))), yy3110))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), yy311)) → new_groupByZs06(Succ(Succ(Zero)), Pos(Zero), Succ(Succ(Zero)), Pos(Zero), yy311)
new_span2Ys24([]) → []
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Zero))), :(:%(Pos(Zero), Neg(Succ(Succ(yy3101000)))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0(:%(Neg(Zero), yy301), :(:%(Pos(Succ(yy310000)), yy3101), yy311)) → :(:%(Pos(Succ(yy310000)), yy3101), yy311)
new_span2Zs29(:(yy3110, yy3111)) → new_span2Zs118(Succ(Succ(Zero)), yy3110, yy3111, new_esEs(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), yy3110))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs0144(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy3101000000000, yy311)
new_span2Zs118(yy726, yy7270, yy7271, True) → new_span2Zs128(yy726, yy7270, yy7271, new_span2Ys26(yy726, yy7271), new_span2Zs44(yy726, yy7271))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(yy30100))), :(:%(Pos(Zero), Pos(Zero)), yy311)) → :(:%(Pos(Zero), Pos(Zero)), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs078(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy3101000000000, yy311)
new_groupByZs06(yy408, yy409, yy410, yy411, yy412) → new_span2Zs47(yy408, yy409, yy412)
new_asAs2(Neg(Succ(yy8100)), Neg(Zero)) → False
new_asAs2(Neg(Zero), Neg(Succ(yy9100))) → False
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs0112(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → new_groupByZs0125(Succ(Succ(Succ(Succ(Succ(Zero))))), yy310100000000, yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(yy300000000)))))), yy301), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), yy3101), yy311)) → new_groupByZs099(yy300000000, yy301, Succ(Succ(Succ(Zero))), yy3101, yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))), yy311)) → new_groupByZs06(Succ(Zero), Neg(Succ(Zero)), Succ(Zero), Neg(Succ(Zero)), yy311)
new_span2Ys113(yy3110, yy3111, yy137, yy136) → :(yy3110, yy137)
new_groupByZs0100(Pos(Zero), yy74, Pos(Succ(yy7500)), yy76) → new_groupByZs099(Zero, Pos(Zero), yy74, Pos(Succ(yy7500)), yy76)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Zero))), :(:%(Neg(Zero), Pos(Succ(Zero))), yy311)) → new_span2Zs40(yy311)
new_groupByZs0123(yy30100000000, yy310100000000, yy311, True) → new_groupByZs06(Zero, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))))), Zero, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000)))))))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs075(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_span2Zs24(yy720, []) → []
new_groupByZs0104(yy30100000, yy310100000, yy311, False) → new_groupByZs0105(yy30100000, Succ(Succ(Succ(yy310100000))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(yy310100))), yy311)) → new_groupByZs0103(Succ(Succ(Succ(Zero))), yy310100, yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs0149(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_span2Ys25(yy658, :(yy6590, yy6591)) → new_span2Ys114(yy658, yy6590, yy6591, new_esEs(:%(Neg(Zero), Neg(Succ(yy658))), yy6590))
new_groupByZs0118(yy1088, yy1089) → :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy1089)
new_groupByZs079(yy1052, yy1053) → new_groupByZs0157(yy1052, yy1053, new_span2Ys26(yy1052, yy1053), new_span2Zs44(yy1052, yy1053))
new_groupByZs0(:%(Neg(Zero), Neg(Zero)), :(:%(Pos(Zero), Pos(Zero)), yy311)) → new_span2Zs22(yy311)
new_span2Zs48([]) → []
new_span2Ys19(yy658, yy6590, yy6591, yy1342, yy1341) → :(yy6590, yy1342)
new_groupByZs0112(yy1077, yy1078) → new_groupByZs06(Succ(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Succ(Zero), Pos(Succ(yy1077)), yy1078)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs014(Succ(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Succ(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), yy311)
new_span2Ys23(yy652, :(yy6530, yy6531)) → new_span2Ys118(yy652, yy6530, yy6531, new_esEs(:%(Neg(Zero), Pos(Succ(yy652))), yy6530))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs0132(Succ(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0167(yy1324, yy1325, yy1326, yy1327, yy1328) → yy1328
new_span2Zs122(yy3110, yy3111, False) → :(yy3110, yy3111)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs0150(yy301000000000, yy3101000000000, yy311, new_primEqNat0(yy301000000000, yy3101000000000))
new_groupByZs011(Pos(Zero), yy64, Neg(Succ(yy6500)), yy66) → new_groupByZs013(Zero, Pos(Zero), yy64, Neg(Succ(yy6500)), yy66)
new_groupByZs011(Neg(Zero), yy64, Pos(Succ(yy6500)), yy66) → new_groupByZs013(Zero, Neg(Zero), yy64, Pos(Succ(yy6500)), yy66)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs0106(yy301000000, yy3101000000, yy311, True) → new_groupByZs06(Succ(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(yy301000000)))))), Succ(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000)))))), yy311)
new_groupByZs063(yy1166, yy1167, yy1168) → :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy1167))))))))), yy1168)
new_groupByZs0101(yy30100000, yy310100000, yy311, False) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Neg(Zero), yy91)) → new_asAs1(yy81, yy91)
new_groupByZs011(Neg(Succ(Succ(yy63000))), yy64, Neg(Succ(Succ(yy65000))), yy66) → new_groupByZs015(yy63000, yy64, yy65000, yy66, new_primEqNat0(yy63000, yy65000))
new_groupByZs090(yy1066, yy1067) → new_groupByZs0164(yy1066, yy1067, new_span2Ys26(yy1066, yy1067), new_span2Zs44(yy1066, yy1067))
new_groupByZs036(yy3010000000, yy31010000000, yy311, True) → new_groupByZs06(Succ(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000))))))), Succ(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000))))))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs0146(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy311)
new_groupByZs055(yy1158, yy1159, yy1160) → :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy1159)))))))), yy1160)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Zero)), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Zero)), yy311)) → new_groupByZs014(Succ(Succ(Zero)), Neg(Zero), Succ(Succ(Zero)), Neg(Zero), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs0136(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(yy30100))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), yy311)) → new_groupByZs035(Succ(Succ(Succ(Zero))), yy30100, yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs071(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs0151(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0100(Neg(Succ(Zero)), yy74, Neg(Succ(Zero)), yy76) → new_groupByZs06(Succ(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), yy74, Neg(Succ(Zero)), yy76)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(yy301000)))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), yy311)
new_groupByZs052(yy301000000, yy3101000000, yy311, False) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs047(yy213, yy214, yy215) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), yy215)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs080(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy311)
new_groupByZs097(yy301, yy310000000000, yy3101, yy311, False) → new_groupByZs0160(Succ(Succ(Succ(Succ(Succ(Zero))))), yy301, yy310000000000, yy3101, yy311)
new_groupByZs0125(yy1210, yy1211, yy1212) → :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy1211))))))))), yy1212)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(yy30100))), :(:%(Pos(Zero), Neg(yy31010)), yy311)) → :(:%(Pos(Zero), Neg(yy31010)), yy311)
new_groupByZs0100(Pos(Succ(Zero)), yy74, Pos(Succ(Succ(yy75000))), yy76) → new_groupByZs0166(yy74, Succ(yy75000), yy76)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(yy30100))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(yy31010)), yy311)) → new_groupByZs051(yy30100, Succ(Succ(Zero)), yy31010, yy311)
new_groupByZs051(yy183, yy184, yy185, yy186) → :(:%(Pos(Succ(yy184)), Neg(yy185)), yy186)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs014(Succ(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Succ(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0162(yy1112, yy1113, yy1275, yy1274) → yy1274
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_groupByZs014(Succ(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Succ(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), yy311)) → new_groupByZs06(Succ(Succ(Succ(Zero))), Neg(Zero), Succ(Succ(Succ(Zero))), Neg(Zero), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Zero)), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(yy310100))), yy311)
new_span2Zs47(yy408, yy409, []) → []
new_span2Zs43([]) → []
new_span2Zs129(yy3110, yy3111, yy162, yy161) → yy161
new_groupByZs034(yy720, yy721) → new_span2Zs24(yy720, yy721)
new_span2Ys24(:(yy3110, yy3111)) → new_span2Ys124(yy3110, yy3111, new_esEs(:%(Pos(Zero), Neg(Zero)), yy3110))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(yy301000)))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(yy301000)))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), yy311)
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Pos(yy900), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Neg(yy900), yy91)) → new_asAs1(yy81, yy91)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → new_groupByZs0123(yy30100000000, yy310100000000, yy311, new_primEqNat0(yy30100000000, yy310100000000))
new_span2Zs19(yy760, []) → []
new_groupByZs0(:%(Neg(Zero), Neg(Succ(yy30100))), :(:%(Pos(Zero), Neg(Zero)), yy311)) → :(:%(Pos(Zero), Neg(Zero)), yy311)
new_span2Zs47(yy408, yy409, :(yy4120, yy4121)) → new_span2Zs125(yy408, yy409, yy4120, yy4121, new_esEs(:%(Neg(Succ(yy408)), yy409), yy4120))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)
new_span2Zs44(yy726, :(yy7270, yy7271)) → new_span2Zs118(yy726, yy7270, yy7271, new_esEs(:%(Pos(Zero), Neg(Succ(yy726))), yy7270))
new_span2Zs21([]) → []
new_groupByZs015(yy63000, yy64, yy65000, yy66, True) → new_groupByZs014(Succ(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(yy63000))), yy64, Neg(Succ(Succ(yy65000))), yy66)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_span2Zs34(yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs0138(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(yy3010000))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))), yy311)) → new_groupByZs0109(Succ(Succ(yy3010000)), Succ(Zero), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Zero)), :(:%(Pos(Succ(Zero)), Pos(Zero)), yy311)) → new_groupByZs014(Zero, Pos(Zero), Zero, Pos(Zero), yy311)
new_groupByZs0155(yy507, yy508) → new_span2Zs45(yy508)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(yy30100))), :(:%(Neg(Zero), Neg(Zero)), yy311)) → :(:%(Neg(Zero), Neg(Zero)), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), :(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), yy311)) → new_span2Zs35(yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs0130(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0108(yy301000000, yy3101000000, yy311, True) → new_groupByZs06(Succ(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(yy301000000)))))), Succ(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000)))))), yy311)
new_span2Zs113(yy766, yy7670, yy7671, False) → :(yy7670, yy7671)
new_groupByZs0(:%(Neg(Zero), Pos(Zero)), :(:%(Neg(Zero), Pos(Zero)), yy311)) → new_span2Zs41(yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Zero)), :(:%(Pos(Zero), Neg(Zero)), yy311)) → new_span2Zs41(yy311)
new_asAs2(Pos(Zero), Neg(Zero)) → True
new_asAs2(Neg(Zero), Pos(Zero)) → True
new_groupByZs050(yy301000000, yy3101000000, yy311, True) → new_groupByZs014(Succ(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(yy301000000)))))), Succ(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000)))))), yy311)
new_groupByZs044(yy30100000, yy310100000, yy311, False) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_span2Zs115(yy408, yy409, yy4120, yy4121, yy425) → yy425
new_groupByZs0132(yy760, yy761) → new_span2Zs19(yy760, yy761)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs0141(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(yy3101000)))), yy311)) → new_groupByZs046(Succ(Succ(Succ(Zero))), yy3101000, yy311)
new_span2Ys25(yy658, []) → []
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs0148(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Zero)), :(:%(Pos(Zero), Neg(Succ(yy310100))), yy311)) → :(:%(Pos(Zero), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Zero)), :(:%(Neg(Zero), Pos(Succ(yy310100))), yy311)) → :(:%(Neg(Zero), Pos(Succ(yy310100))), yy311)
new_groupByZs0120(yy1091, yy1092) → new_groupByZs06(Zero, Pos(Succ(yy1091)), Zero, Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy1092)
new_groupByZs030(yy745, yy746) → :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy746)
new_groupByZs032(yy1045, yy1046, yy1259, yy1258) → yy1258
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Zero))), :(:%(Pos(Zero), Neg(Succ(Zero))), yy311)) → new_span2Zs26(yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30000000000)))))))), yy301), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy3101), yy311)) → new_groupByZs096(Succ(Succ(Succ(Succ(Succ(Succ(yy30000000000)))))), yy301, yy3101, yy311, new_asAs1(yy301, yy3101))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs05(Succ(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs059(yy1162, yy1163, yy1164) → :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy1163)))))))), yy1164)
new_groupByZs011(Pos(Zero), yy64, Pos(Zero), yy66) → new_groupByZs014(Succ(Succ(Succ(Succ(Zero)))), Pos(Zero), yy64, Pos(Zero), yy66)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs072(yy301000000000, yy3101000000000, yy311, new_primEqNat0(yy301000000000, yy3101000000000))
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → new_groupByZs063(Succ(Succ(Succ(Succ(Succ(Zero))))), yy310100000000, yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs03(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311)
new_esEs(:%(Neg(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0137(yy1220, yy1221, yy1222) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy1221)))))))))), yy1222)
new_groupByZs022(yy729, yy730) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy730)
new_span2Zs126(yy3110, yy3111, True) → new_span2Zs119(yy3110, yy3111, new_span2Ys22(yy3111), new_span2Zs33(yy3111))
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs022(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(yy310100))), yy311)) → new_groupByZs048(Succ(Succ(Succ(Zero))), yy310100, yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(yy3101000)))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(yy30100))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(yy30100))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Zero)), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Zero)), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_groupByZs014(Succ(Zero), Pos(Succ(Succ(Succ(Succ(Zero))))), Succ(Zero), Pos(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Zero)), :(:%(Pos(Zero), Pos(Zero)), yy311)) → new_span2Zs41(yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), yy311)) → new_span2Zs31(yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(yy30100))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(yy31010)), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(yy31010)), yy311)

The set Q consists of the following terms:

new_groupByZs031(x0, x1)
new_span2Zs129(x0, x1, x2, x3)
new_groupByZs0100(Pos(Succ(Zero)), x0, Pos(Succ(Succ(x1))), x2)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(x0))))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(x0)))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), x1))
new_groupByZs0142(x0, x1, x2, False)
new_groupByZs098(x0, x1, x2, x3)
new_groupByZs0150(x0, x1, x2, True)
new_span2Zs120(x0, x1, x2, x3)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), :(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Zero)), :(:%(Pos(Succ(Succ(Zero))), Pos(Zero)), x0))
new_span2Zs32([])
new_groupByZs095(x0, x1, x2, x3, False)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(x0)))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), x1))
new_span2Zs23(x0, [])
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), x0))
new_groupByZs041(x0, x1, x2, x3, True)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1))
new_groupByZs0112(x0, x1)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Zero))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))), x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Zero))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(x0))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), x1))
new_span2Zs29([])
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), x1))
new_groupByZs0135(x0, x1, x2, True)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(x0)))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(x0)))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), x1))
new_span2Zs48([])
new_primEqNat0(Zero, Succ(x0))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Zero), x1))
new_esEs(:%(Pos(Zero), x0), :%(Neg(Zero), x1))
new_groupByZs0120(x0, x1)
new_span2Zs24(x0, [])
new_span2Zs113(x0, x1, x2, True)
new_groupByZs064(x0, x1)
new_groupByZs074(x0, x1)
new_groupByZs0(:%(Neg(Zero), Neg(Zero)), :(:%(Neg(Zero), Neg(Succ(x0))), x1))
new_groupByZs039(x0, x1, x2, x3, x4, False)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(x0))), x1))
new_span2Zs128(x0, x1, x2, x3, x4)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(x0)))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs0(x0, [])
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), x1))
new_groupByZs081(x0, x1)
new_groupByZs0100(Neg(Zero), x0, Neg(Succ(x1)), x2)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(x0))), :(:%(Neg(Zero), Pos(Zero)), x1))
new_span2Ys123(x0, x1, x2, x3)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x0))
new_groupByZs0113(x0, x1, x2, False)
new_groupByZs0(:%(Pos(Succ(x0)), x1), :(:%(Pos(Zero), x2), x3))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x0)))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x0)))))), x1))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(x0))), :(:%(Neg(Succ(Succ(Zero))), Pos(x1)), x2))
new_groupByZs0100(Pos(Succ(x0)), x1, Neg(x2), x3)
new_groupByZs0100(Neg(Succ(x0)), x1, Pos(x2), x3)
new_groupByZs094(x0, x1, x2, x3, True)
new_groupByZs043(x0, x1, x2, x3)
new_span2Zs25([])
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1))
new_groupByZs0152(x0, x1)
new_groupByZs071(x0, x1)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), :(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Zero)), :(:%(Neg(Succ(Succ(Zero))), Neg(Zero)), x0))
new_groupByZs038(x0, x1)
new_groupByZs011(Pos(Zero), x0, Pos(Zero), x1)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))), x1))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))), x1))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Zero))), :(:%(Pos(Zero), Neg(Succ(Zero))), x0))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Zero)), :(:%(Neg(Succ(Zero)), Pos(Zero)), x0))
new_groupByZs049(x0, x1, x2, True)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), x0))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))), x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), x0))
new_groupByZs047(x0, x1, x2)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1)))))))))), x2))
new_groupByZs0(:%(Neg(Zero), x0), :(:%(Neg(Succ(x1)), x2), x3))
new_groupByZs0116(x0, x1)
new_groupByZs0(:%(Neg(Zero), Neg(Zero)), :(:%(Pos(Zero), Neg(Zero)), x0))
new_groupByZs0(:%(Neg(Zero), Neg(Zero)), :(:%(Neg(Zero), Pos(Zero)), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x0))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Zero)), :(:%(Pos(Succ(Zero)), Pos(Succ(x0))), x1))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x0))
new_groupByZs015(x0, x1, x2, x3, False)
new_span2Ys114(x0, x1, x2, True)
new_groupByZs0131(x0, x1)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Zero)), x0))
new_groupByZs065(x0, x1)
new_groupByZs0100(Neg(Succ(Zero)), x0, Neg(Succ(Zero)), x1)
new_span2Zs125(x0, x1, x2, x3, False)
new_span2Zs127(x0, x1, x2, x3, False)
new_groupByZs0163(x0, x1, x2, x3, x4)
new_groupByZs0126(x0, x1)
new_groupByZs0158(x0, x1, x2, x3, x4)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x1))))))), x2))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1))))))), x2))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(x0)))))), x1), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), x2), x3))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(x0)))), x1))
new_span2Ys113(x0, x1, x2, x3)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x0))))), x1))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(x0))), :(:%(Neg(Zero), Pos(x1)), x2))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(x0))), :(:%(Pos(Zero), Neg(x1)), x2))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), x1))
new_span2Zs29(:(x0, x1))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x0))))), x1))
new_groupByZs0(:%(Neg(Zero), Neg(Zero)), :(:%(Pos(Zero), Pos(Succ(x0))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), x0))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), x0))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(x0))))), x1))
new_groupByZs056(x0, x1)
new_groupByZs035(x0, x1, x2)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Zero)), :(:%(Pos(Succ(Zero)), Neg(Succ(x0))), x1))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Zero)), :(:%(Neg(Succ(Zero)), Pos(Succ(x0))), x1))
new_primEqNat0(Zero, Zero)
new_groupByZs0101(x0, x1, x2, True)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(x0))))), :(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x0))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x0))))), x1))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))), x1))
new_span2Zs42([])
new_groupByZs050(x0, x1, x2, False)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), x0), :(:%(Pos(Succ(Succ(Succ(x1)))), x2), x3))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs0100(Pos(Zero), x0, Pos(Zero), x1)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x1))
new_groupByZs040(x0, x1, x2, x3, True)
new_span2Zs126(x0, x1, False)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(x0))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Zero)), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(x0))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), x1))
new_groupByZs0153(x0, x1)
new_groupByZs0169(x0, x1, x2, x3, True)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Zero)), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(x0))), x1))
new_span2Zs31(:(x0, x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x0))
new_groupByZs0125(x0, x1, x2)
new_span2Zs41([])
new_span2Ys120(x0, x1, x2, x3)
new_groupByZs039(x0, x1, x2, x3, x4, True)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), x1))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x0))
new_span2Ys112(x0, x1, True)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), x1), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x2), x3))
new_groupByZs040(x0, x1, x2, x3, False)
new_span2Zs39(:(x0, x1))
new_span2Zs24(x0, :(x1, x2))
new_groupByZs0(:%(Pos(Zero), Pos(Zero)), :(:%(Pos(Zero), Pos(Zero)), x0))
new_span2Ys25(x0, :(x1, x2))
new_groupByZs093(x0, x1, x2, x3, x4, False)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(x0))))), :(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), x1))
new_groupByZs088(x0, x1)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(x0))), :(:%(Pos(Zero), Pos(x1)), x2))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(x0)))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(x0)))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x0))
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(x0))), :(:%(Pos(Succ(Zero)), Pos(Zero)), x1))
new_groupByZs0154(x0, x1)
new_span2Zs38(:(x0, x1))
new_groupByZs0171(x0, x1, x2, x3, False)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), x1))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), x1))
new_groupByZs029(x0, x1)
new_groupByZs0114(x0, x1)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), x0), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1), x2))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(x0)))), x1))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), x0))
new_asAs2(Neg(Succ(x0)), Neg(Zero))
new_span2Zs116(x0, x1, x2, False)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x0)))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x1)))))), x2))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x0)))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x1)))))), x2))
new_groupByZs09(x0, x1, x2)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), x1), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2))))))))), x3), x4))
new_asAs2(Pos(Zero), Pos(Zero))
new_span2Zs115(x0, x1, x2, x3, x4)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(x0)))), :(:%(Pos(Zero), Neg(Succ(Zero))), x1))
new_groupByZs041(x0, x1, x2, x3, False)
new_groupByZs0100(Pos(Zero), x0, Pos(Succ(x1)), x2)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), x0), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(x1)))))), x2), x3))
new_span2Zs117(x0, x1, x2, x3, x4)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(x0)))))), x1))
new_span2Zs39([])
new_groupByZs0132(x0, x1)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Zero)), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(x0))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Zero)), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(x0))), x1))
new_span2Ys27(:(x0, x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), x0))
new_groupByZs0105(x0, x1, x2)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Zero)), x0))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), x0))
new_span2Zs118(x0, x1, x2, False)
new_groupByZs069(x0, x1)
new_groupByZs037(x0, x1, x2)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x0), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1), x2))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x1))))))), x2))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x0)))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x0)))))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), x1))
new_groupByZs028(x0, x1, x2)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Succ(x1)), x2))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(x0))), :(:%(Neg(Zero), Neg(Zero)), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), x1), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2))))))))), x3), x4))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), x1))
new_groupByZs011(Neg(Zero), x0, Neg(Zero), x1)
new_groupByZs090(x0, x1)
new_groupByZs078(x0, x1, x2)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x0)))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Zero)), :(:%(Pos(Succ(Zero)), Neg(Succ(x0))), x1))
new_groupByZs082(x0, x1)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(x0)))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(x0)))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(x0))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1)))))))))), x2))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))), :(:%(Neg(Succ(Zero)), Neg(Succ(Zero))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(x0))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(x1)), x2))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x0), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1), x2))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x0)))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x1)))))), x2))
new_groupByZs0100(Pos(Succ(Succ(x0))), x1, Pos(Succ(Zero)), x2)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x0), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1))))))))), x2), x3))
new_groupByZs089(x0, x1, x2)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Zero))), :(:%(Pos(Succ(Zero)), Pos(Succ(Zero))), x0))
new_span2Ys122(x0, x1, True)
new_groupByZs0111(x0, x1)
new_groupByZs0(:%(Pos(Succ(Succ(x0))), x1), :(:%(Pos(Succ(Zero)), x2), x3))
new_groupByZs091(x0, x1)
new_groupByZs0(:%(Pos(Zero), Neg(Zero)), :(:%(Neg(Zero), Neg(Zero)), x0))
new_groupByZs0(:%(Neg(Zero), Pos(Zero)), :(:%(Neg(Zero), Neg(Zero)), x0))
new_groupByZs011(Neg(Succ(x0)), x1, Neg(Zero), x2)
new_span2Zs30(:(x0, x1))
new_groupByZs0148(x0, x1)
new_groupByZs057(x0, x1, x2, True)
new_groupByZs05(x0, x1)
new_groupByZs0128(x0, x1, x2, False)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Zero)), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(x0))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(x0)))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x0), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1), x2))
new_groupByZs042(x0, x1, x2, x3, False)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(x0))), x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Zero)), :(:%(Pos(Succ(Zero)), Pos(Zero)), x0))
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), x0))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), x0))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Zero))), :(:%(Pos(Zero), Pos(Succ(Zero))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Zero)), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(x0))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), x0))
new_primEqNat0(Succ(x0), Zero)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), x0))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), x0))
new_groupByZs086(x0, x1)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(x0)))), x1), :(:%(Pos(Succ(Succ(Zero))), x2), x3))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), x1))
new_groupByZs061(x0, x1, x2, False)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(x0))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), x1))
new_groupByZs0161(x0, x1, x2, x3, x4)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Zero))), :(:%(Neg(Zero), Pos(Succ(Zero))), x0))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Zero)), :(:%(Neg(Succ(Zero)), Pos(Zero)), x0))
new_groupByZs083(x0, x1, x2)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Zero)), :(:%(Pos(Succ(Zero)), Neg(Zero)), x0))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Zero))), :(:%(Pos(Zero), Neg(Succ(Zero))), x0))
new_groupByZs0168(x0, x1, x2, x3, x4)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), x0), :(:%(Neg(Succ(Succ(Succ(x1)))), x2), x3))
new_groupByZs0157(x0, x1, x2, x3)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(x0)))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))), x1))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), :(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), x0))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), :(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), x0))
new_groupByZs0(:%(Neg(Zero), Neg(Zero)), :(:%(Neg(Zero), Neg(Zero)), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Zero)), :(:%(Pos(Succ(Succ(Zero))), Neg(Zero)), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Zero)), :(:%(Neg(Succ(Succ(Zero))), Pos(Zero)), x0))
new_groupByZs0123(x0, x1, x2, True)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Zero))), :(:%(Neg(Zero), Neg(Succ(Succ(x0)))), x1))
new_groupByZs023(x0, x1)
new_groupByZs042(x0, x1, x2, x3, True)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Zero))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))), x1))
new_span2Zs19(x0, [])
new_groupByZs0(:%(Pos(Zero), Neg(Zero)), :(:%(Pos(Zero), Neg(Succ(x0))), x1))
new_groupByZs0(:%(Pos(Zero), Neg(Zero)), :(:%(Neg(Zero), Pos(Succ(x0))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Zero)), :(:%(Pos(Zero), Neg(Succ(x0))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Zero)), :(:%(Neg(Zero), Pos(Succ(x0))), x1))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), x0))
new_groupByZs092(x0, x1)
new_groupByZs059(x0, x1, x2)
new_groupByZs0143(x0, x1)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), x0))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(x0))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(x1)), x2))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(x0))), :(:%(Neg(Zero), Pos(x1)), x2))
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))), x1))
new_groupByZs024(x0, x1)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), x0))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))), x0))
new_groupByZs0149(x0, x1)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs014(x0, x1, x2, x3, x4)
new_groupByZs00(x0, x1)
new_groupByZs077(x0, x1, x2, True)
new_groupByZs036(x0, x1, x2, True)
new_span2Zs21(:(x0, x1))
new_groupByZs0139(x0, x1)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x0), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1))))))), x2), x3))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(x0))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(x1)), x2))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(x0))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Zero)), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(x0))), x1))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(x0))), :(:%(Neg(Succ(Zero)), Neg(x1)), x2))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1))
new_groupByZs0104(x0, x1, x2, True)
new_span2Zs114(x0, x1, True)
new_groupByZs0(:%(Pos(Zero), Pos(Zero)), :(:%(Neg(Zero), Neg(Succ(x0))), x1))
new_span2Zs40(:(x0, x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(x0)))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs011(Pos(Zero), x0, Pos(Succ(x1)), x2)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x0), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1)))))))), x2), x3))
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs068(x0, x1)
new_span2Zs45([])
new_span2Zs126(x0, x1, True)
new_groupByZs0121(x0, x1)
new_span2Ys111(x0, x1, x2, x3)
new_groupByZs03(x0, x1)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x0)))))), x1))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(x0))), :(:%(Neg(Succ(Zero)), Pos(Zero)), x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(x0))), :(:%(Pos(Succ(Zero)), Neg(Zero)), x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), x1))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), x1))
new_span2Ys19(x0, x1, x2, x3, x4)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(x0)))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x0), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1), x2))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Zero)), :(:%(Neg(Succ(Succ(Zero))), Neg(Zero)), x0))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), :(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), x0))
new_groupByZs058(x0, x1)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(x0))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(x0))), x1))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))), :(:%(Neg(Succ(Zero)), Pos(Succ(Zero))), x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))), :(:%(Pos(Succ(Zero)), Neg(Succ(Zero))), x1))
new_span2Ys118(x0, x1, x2, True)
new_asAs2(Pos(Zero), Neg(Succ(x0)))
new_asAs2(Neg(Zero), Pos(Succ(x0)))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x0))
new_groupByZs046(x0, x1, x2)
new_groupByZs055(x0, x1, x2)
new_groupByZs0141(x0, x1)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1)))))))), x2))
new_groupByZs010(x0, x1, x2, x3, x4)
new_groupByZs0170(x0, x1, x2, x3, x4)
new_groupByZs013(x0, x1, x2, x3, x4)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(x0))), :(:%(Neg(Zero), Neg(x1)), x2))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(x0))), :(:%(Pos(Succ(Succ(Zero))), Pos(Zero)), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(x0)))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), x1))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), x1))
new_span2Zs34([])
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Zero)), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(x0))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Zero)), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(x0))), x1))
new_groupByZs097(x0, x1, x2, x3, False)
new_span2Zs27(:(x0, x1))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))), x0))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))), x0))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(x0))), :(:%(Pos(Zero), Pos(Zero)), x1))
new_groupByZs025(x0, x1)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(x0))))), x1))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), x1))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Zero)), :(:%(Neg(Succ(Zero)), Pos(Succ(x0))), x1))
new_span2Ys115(x0, x1, x2, x3, x4)
new_span2Zs26(:(x0, x1))
new_span2Zs118(x0, x1, x2, True)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), x1))
new_span2Ys116(x0, x1, x2, False)
new_groupByZs016(x0, x1, x2)
new_groupByZs0113(x0, x1, x2, True)
new_groupByZs0109(x0, x1, x2)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), x0))
new_span2Zs43([])
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), x1), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x2), x3))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Zero))), :(:%(Neg(Succ(Zero)), Neg(Succ(Zero))), x0))
new_groupByZs0(:%(Neg(Zero), x0), :(:%(Pos(Succ(x1)), x2), x3))
new_span2Zs20(:(x0, x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x0)))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), x1))
new_groupByZs051(x0, x1, x2, x3)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(x0)))))), x1))
new_span2Zs19(x0, :(x1, x2))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Zero))), :(:%(Pos(Zero), Pos(Succ(Succ(x0)))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(x0))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(x1)), x2))
new_span2Ys121(x0, x1, x2, True)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(x0))))), :(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), x1))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(x0))))), :(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(x0))), x1))
new_groupByZs06(x0, x1, x2, x3, x4)
new_groupByZs08(x0, x1, x2, True)
new_asAs2(Pos(Zero), Pos(Succ(x0)))
new_span2Ys24([])
new_groupByZs0107(x0, x1, x2, x3)
new_groupByZs017(x0, x1, x2, x3, True)
new_span2Zs30([])
new_groupByZs052(x0, x1, x2, True)
new_groupByZs0135(x0, x1, x2, False)
new_span2Ys117(x0, x1, x2, x3, x4)
new_groupByZs0(:%(Pos(Zero), Neg(Zero)), :(:%(Pos(Zero), Pos(Succ(x0))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Zero)), :(:%(Pos(Zero), Pos(Succ(x0))), x1))
new_groupByZs0117(x0, x1, x2, False)
new_groupByZs0(:%(Neg(Succ(Succ(x0))), x1), :(:%(Neg(Succ(Zero)), x2), x3))
new_span2Zs48(:(x0, x1))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1))
new_span2Zs35([])
new_groupByZs087(x0, x1, x2, False)
new_span2Zs37([])
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x0))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(x0)))), :(:%(Neg(Zero), Pos(Succ(Zero))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(x0))), x1))
new_groupByZs0164(x0, x1, x2, x3)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), x1))
new_span2Zs28([])
new_span2Zs45(:(x0, x1))
new_asAs0(Zero, Zero, x0, x1)
new_groupByZs072(x0, x1, x2, False)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(x0))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(x0))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x0))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x0))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), x1))
new_groupByZs0100(Neg(Succ(Succ(x0))), x1, Neg(Succ(Zero)), x2)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(x0))), :(:%(Neg(Succ(Zero)), Pos(x1)), x2))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x0))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x0))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), x0), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(x1)))))), x2), x3))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x0)))))), x1))
new_groupByZs0100(Neg(Succ(x0)), x1, Neg(Zero), x2)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x0)))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x0))
new_span2Zs47(x0, x1, :(x2, x3))
new_span2Ys121(x0, x1, x2, False)
new_groupByZs097(x0, x1, x2, x3, True)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x0)))))), x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))), :(:%(Pos(Succ(Zero)), Pos(Succ(Zero))), x1))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1)))))))))), x2))
new_groupByZs0119(x0, x1, x2)
new_span2Ys118(x0, x1, x2, False)
new_groupByZs075(x0, x1)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1)))))))))), x2))
new_span2Ys23(x0, :(x1, x2))
new_groupByZs015(x0, x1, x2, x3, True)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(x0))))), :(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(x0)))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(x0)))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Zero)), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), x0))
new_groupByZs0(:%(Neg(Zero), Neg(Zero)), :(:%(Pos(Zero), Neg(Succ(x0))), x1))
new_groupByZs0(:%(Neg(Zero), Neg(Zero)), :(:%(Neg(Zero), Pos(Succ(x0))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), x1))
new_groupByZs0133(x0, x1)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), x1), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x2), x3))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1))
new_groupByZs050(x0, x1, x2, True)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(x0))), x1))
new_groupByZs011(Neg(Succ(Zero)), x0, Neg(Succ(Succ(x1))), x2)
new_span2Zs36([])
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1))
new_span2Ys20([])
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(x0)))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(x0)))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), x1))
new_span2Zs125(x0, x1, x2, x3, True)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x1))
new_span2Zs122(x0, x1, False)
new_groupByZs0147(x0, x1, x2)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1))
new_groupByZs094(x0, x1, x2, x3, False)
new_span2Zs123(x0, x1, x2, x3, x4)
new_groupByZs0142(x0, x1, x2, True)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), x0))
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs0115(x0, x1, x2)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(x0)))))), x1), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), x2), x3))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(x0))), :(:%(Neg(Succ(Succ(Zero))), Neg(x1)), x2))
new_groupByZs0166(x0, x1, x2)
new_esEs(:%(Neg(Zero), x0), :%(Neg(Zero), x1))
new_span2Zs40([])
new_groupByZs066(x0, x1)
new_groupByZs0100(Pos(Succ(Zero)), x0, Pos(Succ(Zero)), x1)
new_asAs2(Pos(Succ(x0)), Pos(Succ(x1)))
new_groupByZs063(x0, x1, x2)
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Succ(x2)), x3))
new_groupByZs0167(x0, x1, x2, x3, x4)
new_groupByZs0123(x0, x1, x2, False)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Zero)), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(x0))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(x0))), :(:%(Pos(Succ(Zero)), Pos(x1)), x2))
new_groupByZs096(x0, x1, x2, x3, False)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x0))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x0))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x0))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1))))))))), x2))
new_groupByZs021(x0, x1, x2, x3)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(x0)))), :(:%(Neg(Zero), Neg(Succ(Zero))), x1))
new_groupByZs0100(Neg(Succ(Zero)), x0, Neg(Succ(Succ(x1))), x2)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(x0))))), x1))
new_groupByZs095(x0, x1, x2, x3, True)
new_groupByZs02(x0, x1, x2)
new_groupByZs011(Pos(Succ(Zero)), x0, Pos(Succ(Zero)), x1)
new_groupByZs0122(x0, x1)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), :(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Zero)), :(:%(Pos(Succ(Succ(Zero))), Pos(Zero)), x0))
new_span2Zs21([])
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))), x0))
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))), x0))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), x1))
new_groupByZs07(x0, x1, x2)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(x0))))), :(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), x1))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), x1))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), x1))
new_groupByZs0169(x0, x1, x2, x3, False)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), x1))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Zero))), :(:%(Neg(Zero), Pos(Succ(Zero))), x0))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1)))))))))), x2))
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Zero)), :(:%(Pos(Succ(Zero)), Neg(Zero)), x0))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), x1))
new_span2Ys112(x0, x1, False)
new_groupByZs096(x0, x1, x2, x3, True)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(x0))))), x1))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Zero)), :(:%(Neg(Succ(Zero)), Neg(Succ(x0))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(x0))))), x1))
new_groupByZs061(x0, x1, x2, True)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), x1))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))), x1))
new_groupByZs0(:%(Neg(Succ(x0)), x1), :(:%(Pos(x2), x3), x4))
new_groupByZs0102(x0, x1, x2)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(x0))))), x1), :(:%(Pos(Succ(Succ(Succ(Zero)))), x2), x3))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(x0))), :(:%(Pos(Zero), Neg(x1)), x2))
new_groupByZs049(x0, x1, x2, False)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1))))))))), x2))
new_groupByZs0134(x0, x1)
new_groupByZs0155(x0, x1)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(x0)))), x1))
new_groupByZs04(x0, x1)
new_groupByZs073(x0, x1)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1)))))))))), x2))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1)))))))))), x2))
new_span2Ys116(x0, x1, x2, True)
new_groupByZs034(x0, x1)
new_groupByZs0(:%(Pos(Zero), Pos(Zero)), :(:%(Neg(Zero), Neg(Zero)), x0))
new_groupByZs0156(x0, x1, x2, x3, x4)
new_span2Zs34(:(x0, x1))
new_groupByZs0127(x0, x1)
new_groupByZs067(x0, x1, x2, True)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Zero)), :(:%(Neg(Succ(Zero)), Neg(Zero)), x0))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Zero))), :(:%(Neg(Zero), Neg(Succ(Zero))), x0))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Zero), x2))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(x0))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x0))))), x1))
new_span2Zs44(x0, [])
new_groupByZs0129(x0, x1, x2)
new_asAs0(Succ(x0), Zero, x1, x2)
new_span2Zs111(x0, x1, x2, True)
new_groupByZs0159(x0, x1, x2, x3)
new_span2Zs110(x0, x1, x2, x3)
new_span2Ys114(x0, x1, x2, False)
new_groupByZs019(x0, x1)
new_span2Zs38([])
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(x0)))))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(x0))), :(:%(Neg(Zero), Neg(x1)), x2))
new_groupByZs0(:%(Neg(Succ(x0)), x1), :(:%(Neg(Zero), x2), x3))
new_groupByZs011(Neg(Succ(Succ(x0))), x1, Neg(Succ(Zero)), x2)
new_span2Zs111(x0, x1, x2, False)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(x0)))))), x1))
new_span2Zs47(x0, x1, [])
new_span2Zs116(x0, x1, x2, True)
new_groupByZs011(Neg(Zero), x0, Neg(Succ(x1)), x2)
new_groupByZs0150(x0, x1, x2, False)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x0)))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x0), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1))))))))), x2), x3))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))), x0))
new_groupByZs011(Pos(Zero), x0, Neg(Succ(x1)), x2)
new_groupByZs011(Neg(Zero), x0, Pos(Succ(x1)), x2)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(x0))), :(:%(Pos(Succ(Zero)), Neg(x1)), x2))
new_span2Zs35(:(x0, x1))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Zero))), :(:%(Neg(Zero), Neg(Succ(Zero))), x0))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Zero)), :(:%(Neg(Succ(Zero)), Neg(Zero)), x0))
new_primEqNat0(Succ(x0), Succ(x1))
new_groupByZs011(Neg(Succ(Zero)), x0, Neg(Succ(Zero)), x1)
new_esEs(:%(Neg(Succ(x0)), x1), :%(Pos(x2), x3))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Neg(x2), x3))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), x1))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Zero))), :(:%(Neg(Succ(Zero)), Pos(Succ(Zero))), x0))
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Zero))), :(:%(Pos(Succ(Zero)), Neg(Succ(Zero))), x0))
new_asAs2(Neg(Zero), Neg(Zero))
new_span2Zs22([])
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(x0))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), x1))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1))
new_groupByZs067(x0, x1, x2, False)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))), x0))
new_groupByZs044(x0, x1, x2, True)
new_groupByZs070(x0, x1)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x0))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))), x1))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(x0))))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(x0))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), x0), :(:%(Pos(Succ(Succ(Succ(Succ(x1))))), x2), x3))
new_groupByZs0118(x0, x1)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(x0))))), :(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), x1))
new_groupByZs053(x0, x1, x2, True)
new_groupByZs044(x0, x1, x2, False)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x0)))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x0)))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero)))))), x1))
new_groupByZs0(:%(Pos(Zero), x0), :(:%(Pos(Succ(x1)), x2), x3))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), x1), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x2), x3))
new_groupByZs087(x0, x1, x2, True)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs0162(x0, x1, x2, x3)
new_span2Ys110(x0, x1, True)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(x0)))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(x0)))), x1))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), x1))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), x0))
new_groupByZs011(Neg(Succ(x0)), x1, Pos(x2), x3)
new_groupByZs011(Pos(Succ(x0)), x1, Neg(x2), x3)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1))))))), x2))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Zero)), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(x0))), x1))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x0))
new_span2Zs121(x0, x1, True)
new_groupByZs027(x0, x1, x2, x3, x4)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1))
new_span2Zs26([])
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x0), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1)))))))), x2), x3))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Zero)), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Zero)), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), x0))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(x0))), :(:%(Neg(Zero), Neg(Zero)), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(x0))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(x0))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), x1))
new_span2Zs23(x0, :(x1, x2))
new_groupByZs076(x0, x1)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), x1))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), x1))
new_span2Zs20([])
new_span2Ys124(x0, x1, False)
new_span2Zs127(x0, x1, x2, x3, True)
new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Succ(x2)), x3))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), x0))
new_groupByZs0137(x0, x1, x2)
new_groupByZs0103(x0, x1, x2)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(x0))), :(:%(Pos(Succ(Succ(Zero))), Pos(x1)), x2))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Zero)), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(x0))), x1))
new_groupByZs0146(x0, x1)
new_span2Zs122(x0, x1, True)
new_span2Ys21(x0, :(x1, x2))
new_span2Zs114(x0, x1, False)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), x1))
new_groupByZs011(Neg(Zero), x0, Pos(Zero), x1)
new_groupByZs011(Pos(Zero), x0, Neg(Zero), x1)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Zero))), :(:%(Pos(Zero), Neg(Succ(Succ(x0)))), x1))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x0))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(x0)))))), x1))
new_groupByZs0(:%(Pos(Zero), Neg(Zero)), :(:%(Neg(Zero), Neg(Succ(x0))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Zero)), :(:%(Neg(Zero), Neg(Succ(x0))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(x0))), x1))
new_groupByZs060(x0, x1)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x0), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1), x2))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1))
new_groupByZs01(x0, x1)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(x0)))), :(:%(Neg(Zero), Pos(Succ(Zero))), x1))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(x0)))), :(:%(Pos(Zero), Neg(Succ(Zero))), x1))
new_asAs2(Neg(Zero), Neg(Succ(x0)))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Zero))), :(:%(Pos(Zero), Neg(Succ(Succ(x0)))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Zero))), :(:%(Neg(Zero), Pos(Succ(Succ(x0)))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x0)))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x0)))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), x1))
new_groupByZs020(x0, x1, x2, x3, x4)
new_groupByZs036(x0, x1, x2, False)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), x1))
new_asAs0(Zero, Succ(x0), x1, x2)
new_span2Zs43(:(x0, x1))
new_groupByZs0130(x0, x1)
new_groupByZs093(x0, x1, x2, x3, x4, True)
new_esEs(:%(Neg(Zero), x0), :%(Neg(Succ(x1)), x2))
new_asAs2(Pos(Succ(x0)), Pos(Zero))
new_groupByZs022(x0, x1)
new_groupByZs0106(x0, x1, x2, True)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(x0)))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))), x1))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(x0))), :(:%(Pos(Zero), Pos(Zero)), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(x0)))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), x1))
new_groupByZs0171(x0, x1, x2, x3, True)
new_groupByZs0(:%(Pos(Zero), Pos(Zero)), :(:%(Pos(Zero), Neg(Succ(x0))), x1))
new_groupByZs0(:%(Pos(Zero), Pos(Zero)), :(:%(Neg(Zero), Pos(Succ(x0))), x1))
new_groupByZs079(x0, x1)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(x0)))), :(:%(Pos(Zero), Pos(Succ(Zero))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1)))))))), x2))
new_groupByZs0100(Pos(Succ(Succ(x0))), x1, Pos(Succ(Succ(x2))), x3)
new_span2Zs121(x0, x1, False)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(x0))), :(:%(Pos(Zero), Neg(Zero)), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(x0))), :(:%(Neg(Zero), Pos(Zero)), x1))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(x0)))))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(x0)))))), x1))
new_groupByZs0104(x0, x1, x2, False)
new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Zero), x2))
new_groupByZs053(x0, x1, x2, False)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Zero)), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), x0))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), x1))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), x1))
new_groupByZs0(:%(Neg(Zero), Neg(Zero)), :(:%(Pos(Zero), Pos(Zero)), x0))
new_span2Zs27([])
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero)))))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero))))), x0))
new_span2Ys26(x0, [])
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs0106(x0, x1, x2, False)
new_span2Zs113(x0, x1, x2, False)
new_groupByZs011(Pos(Succ(Zero)), x0, Pos(Succ(Succ(x1))), x2)
new_groupByZs017(x0, x1, x2, x3, False)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(x0))))), x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Zero)), :(:%(Pos(Succ(Zero)), Pos(Succ(x0))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Zero)), :(:%(Pos(Zero), Pos(Zero)), x0))
new_groupByZs0(:%(Pos(Zero), Neg(Zero)), :(:%(Pos(Zero), Pos(Zero)), x0))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), x1))
new_span2Zs124(x0, x1, x2, x3, x4)
new_span2Ys22(:(x0, x1))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), x0))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(x0)))), :(:%(Neg(Zero), Neg(Succ(Zero))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs033(x0, x1, x2)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), x1))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(x0)))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(x0))), x1))
new_groupByZs011(Pos(Succ(Succ(x0))), x1, Pos(Succ(Zero)), x2)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Zero), x1))
new_groupByZs030(x0, x1)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Zero)), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Zero)), x0))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), x0))
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), x0))
new_groupByZs026(x0, x1, x2, x3)
new_groupByZs0145(x0, x1)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Zero)), :(:%(Pos(Succ(Zero)), Pos(Zero)), x0))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Zero))), :(:%(Pos(Zero), Pos(Succ(Zero))), x0))
new_groupByZs0144(x0, x1, x2)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), x1))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(x0))))), :(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), x0), :(:%(Neg(Succ(Succ(Succ(Succ(x1))))), x2), x3))
new_groupByZs072(x0, x1, x2, True)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(x0))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(x1)), x2))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(x0)))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs0101(x0, x1, x2, False)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x0)))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x1)))))), x2))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x0))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), x1))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), x1))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))), x0))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))), x0))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(x0)))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(x0))), :(:%(Pos(Succ(Succ(Zero))), Neg(x1)), x2))
new_groupByZs062(x0, x1)
new_groupByZs0151(x0, x1)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x1))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Zero))), :(:%(Neg(Zero), Pos(Succ(Succ(x0)))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(x0)))), x1))
new_groupByZs077(x0, x1, x2, False)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Zero)), :(:%(Neg(Succ(Zero)), Neg(Succ(x0))), x1))
new_asAs2(Pos(Zero), Neg(Zero))
new_asAs2(Neg(Zero), Pos(Zero))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), x1))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Zero))), :(:%(Neg(Zero), Neg(Succ(Succ(x0)))), x1))
new_groupByZs057(x0, x1, x2, False)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), x1))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1)))))))))), x2))
new_groupByZs0128(x0, x1, x2, True)
new_groupByZs08(x0, x1, x2, False)
new_groupByZs045(x0, x1, x2)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(x0))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(x1)), x2))
new_groupByZs0165(x0, x1, x2, x3)
new_span2Ys110(x0, x1, False)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(x0))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(x0))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Zero)), x1))
new_span2Zs112(x0, x1, x2, x3, x4)
new_span2Zs33(:(x0, x1))
new_span2Ys119(x0, x1, x2, x3, x4)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), x1))
new_span2Ys25(x0, [])
new_groupByZs085(x0, x1)
new_groupByZs012(x0, x1, x2, x3, False)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(x0)))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs0100(Neg(Zero), x0, Pos(Succ(x1)), x2)
new_groupByZs0100(Pos(Zero), x0, Neg(Succ(x1)), x2)
new_groupByZs0160(x0, x1, x2, x3, x4)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero)))))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), x0))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x1))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(x0))))), x1))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1))
new_groupByZs011(Neg(Succ(Succ(x0))), x1, Neg(Succ(Succ(x2))), x3)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x0))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), x1))
new_span2Zs42(:(x0, x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero)))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1)))))))), x2))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1)))))))), x2))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x0))))), x1))
new_groupByZs0138(x0, x1)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(x0))), :(:%(Neg(Succ(Zero)), Neg(Zero)), x1))
new_span2Ys24(:(x0, x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(x0))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(x1)), x2))
new_span2Ys124(x0, x1, True)
new_span2Ys22([])
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), x0), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1))))))), x2), x3))
new_groupByZs0108(x0, x1, x2, False)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), x0))
new_groupByZs011(Pos(Succ(Succ(x0))), x1, Pos(Succ(Succ(x2))), x3)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(x0))), :(:%(Pos(Zero), Pos(x1)), x2))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), x1))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Zero)), :(:%(Neg(Zero), Pos(Zero)), x0))
new_groupByZs0(:%(Neg(Zero), Pos(Zero)), :(:%(Pos(Zero), Neg(Zero)), x0))
new_groupByZs0(:%(Pos(Zero), Neg(Zero)), :(:%(Pos(Zero), Neg(Zero)), x0))
new_groupByZs0(:%(Pos(Zero), Neg(Zero)), :(:%(Neg(Zero), Pos(Zero)), x0))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))), x1))
new_asAs2(Pos(Succ(x0)), Neg(x1))
new_asAs2(Neg(Succ(x0)), Pos(x1))
new_groupByZs0(:%(Pos(Zero), Pos(Zero)), :(:%(Neg(Zero), Pos(Zero)), x0))
new_groupByZs0(:%(Pos(Zero), Pos(Zero)), :(:%(Pos(Zero), Neg(Zero)), x0))
new_span2Zs119(x0, x1, x2, x3)
new_groupByZs052(x0, x1, x2, False)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), x1))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x1))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))), x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))), x1))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))), x1))
new_groupByZs0117(x0, x1, x2, True)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Zero))), :(:%(Pos(Zero), Pos(Succ(Succ(x0)))), x1))
new_asAs0(Succ(x0), Succ(x1), x2, x3)
new_groupByZs0(:%(Pos(Zero), x0), :(:%(Neg(Succ(x1)), x2), x3))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(x0))), :(:%(Pos(Zero), Neg(Zero)), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x0))
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))), x1))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x0)))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x0))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), x1), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x2), x3))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x0))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x0))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(x0))), :(:%(Neg(Succ(Succ(Zero))), Pos(Zero)), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(x0))), :(:%(Pos(Succ(Succ(Zero))), Neg(Zero)), x1))
new_groupByZs0100(Pos(Succ(x0)), x1, Pos(Zero), x2)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(x0))), :(:%(Neg(Succ(Succ(Zero))), Neg(Zero)), x1))
new_groupByZs032(x0, x1, x2, x3)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(x0))))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), x0))
new_span2Zs44(x0, :(x1, x2))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), x0))
new_groupByZs012(x0, x1, x2, x3, True)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(x0)))), x1), :(:%(Neg(Succ(Succ(Zero))), x2), x3))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), x0))
new_groupByZs084(x0, x1)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), x0))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), x0))
new_groupByZs0100(Pos(Zero), x0, Neg(Zero), x1)
new_groupByZs0100(Neg(Zero), x0, Pos(Zero), x1)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))), x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1))))))))), x2))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1))))))))), x2))
new_groupByZs0136(x0, x1)
new_groupByZs080(x0, x1)
new_span2Ys27([])
new_span2Zs41(:(x0, x1))
new_span2Zs25(:(x0, x1))
new_groupByZs0(:%(Pos(Succ(Zero)), x0), :(:%(Pos(Succ(Succ(x1))), x2), x3))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), x1))
new_span2Zs22(:(x0, x1))
new_groupByZs0100(Neg(Succ(Succ(x0))), x1, Neg(Succ(Succ(x2))), x3)
new_span2Zs46(x0, x1, :(x2, x3))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), x1), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), x2), x3))
new_groupByZs011(Pos(Succ(x0)), x1, Pos(Zero), x2)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), x1))
new_span2Zs31([])
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x0))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x0))
new_groupByZs0100(Neg(Zero), x0, Neg(Zero), x1)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Zero))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))), x1))
new_groupByZs0124(x0, x1)
new_span2Ys21(x0, [])
new_groupByZs0108(x0, x1, x2, True)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x0))))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x0))))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), x0))
new_span2Zs36(:(x0, x1))
new_span2Ys20(:(x0, x1))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), x0))
new_span2Zs33([])
new_span2Ys26(x0, :(x1, x2))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Zero)), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(x0))), x1))
new_groupByZs0110(x0, x1)
new_span2Zs28(:(x0, x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), x0))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), :(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Zero)), :(:%(Neg(Succ(Succ(Zero))), Pos(Zero)), x0))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(x0)))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(x0))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(x0))))), x1), :(:%(Neg(Succ(Succ(Succ(Zero)))), x2), x3))
new_groupByZs054(x0, x1)
new_asAs2(Neg(Succ(x0)), Neg(Succ(x1)))
new_span2Ys122(x0, x1, False)
new_groupByZs0(:%(Neg(Succ(Zero)), x0), :(:%(Neg(Succ(Succ(x1))), x2), x3))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Zero)), :(:%(Pos(Succ(Succ(Zero))), Neg(Zero)), x0))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), :(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), x0))
new_groupByZs0(:%(Pos(Zero), Pos(Zero)), :(:%(Pos(Zero), Pos(Succ(x0))), x1))
new_groupByZs0140(x0, x1)
new_span2Zs46(x0, x1, [])
new_groupByZs0(:%(Pos(Succ(x0)), x1), :(:%(Neg(x2), x3), x4))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), x1))
new_span2Zs37(:(x0, x1))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x1))
new_span2Ys23(x0, [])
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(x0)))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(x0)))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(x0))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(x1)), x2))
new_span2Zs32(:(x0, x1))
new_groupByZs099(x0, x1, x2, x3, x4)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(x0)))), :(:%(Pos(Zero), Pos(Succ(Zero))), x1))
new_asAs1(x0, x1)
new_groupByZs048(x0, x1, x2)
new_esEs(:%(Neg(Zero), x0), :%(Pos(Succ(x1)), x2))
new_esEs(:%(Pos(Zero), x0), :%(Neg(Succ(x1)), x2))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), x1))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(x0))), x1))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), x1))
new_groupByZs018(x0, x1, x2, x3, x4)

We have to consider all minimal (P,Q,R)-chains.
We use the reduction pair processor [15].


The following pairs can be oriented strictly and are deleted.


new_groupBy(:(yy30, yy31)) → new_groupBy(new_groupByZs0(yy30, yy31))
The remaining pairs can at least be oriented weakly.
none
Used ordering: Polynomial interpretation [25]:

POL(:(x1, x2)) = 1 + x2   
POL(:%(x1, x2)) = 0   
POL(False) = 0   
POL(Neg(x1)) = 0   
POL(Pos(x1)) = 0   
POL(Succ(x1)) = 0   
POL(True) = 0   
POL(Zero) = 0   
POL([]) = 0   
POL(new_asAs0(x1, x2, x3, x4)) = 0   
POL(new_asAs1(x1, x2)) = 0   
POL(new_asAs2(x1, x2)) = 0   
POL(new_esEs(x1, x2)) = 0   
POL(new_groupBy(x1)) = x1   
POL(new_groupByZs0(x1, x2)) = x2   
POL(new_groupByZs00(x1, x2)) = 1 + x2   
POL(new_groupByZs01(x1, x2)) = 1 + x2   
POL(new_groupByZs010(x1, x2, x3, x4, x5)) = x5   
POL(new_groupByZs0100(x1, x2, x3, x4)) = 1 + x2 + x4   
POL(new_groupByZs0101(x1, x2, x3, x4)) = 1 + x3   
POL(new_groupByZs0102(x1, x2, x3)) = 1 + x1 + x3   
POL(new_groupByZs0103(x1, x2, x3)) = 1 + x3   
POL(new_groupByZs0104(x1, x2, x3, x4)) = 1 + x3   
POL(new_groupByZs0105(x1, x2, x3)) = 1 + x3   
POL(new_groupByZs0106(x1, x2, x3, x4)) = 1 + x3   
POL(new_groupByZs0107(x1, x2, x3, x4)) = 1 + x2 + x4   
POL(new_groupByZs0108(x1, x2, x3, x4)) = 1 + x3   
POL(new_groupByZs0109(x1, x2, x3)) = 1 + x3   
POL(new_groupByZs011(x1, x2, x3, x4)) = 1 + x2 + x4   
POL(new_groupByZs0110(x1, x2)) = 1 + x1 + x2   
POL(new_groupByZs0111(x1, x2)) = 1 + x2   
POL(new_groupByZs0112(x1, x2)) = 1 + x1 + x2   
POL(new_groupByZs0113(x1, x2, x3, x4)) = 1 + x3   
POL(new_groupByZs0114(x1, x2)) = 1 + x2   
POL(new_groupByZs0115(x1, x2, x3)) = 1 + x3   
POL(new_groupByZs0116(x1, x2)) = 1 + x1 + x2   
POL(new_groupByZs0117(x1, x2, x3, x4)) = 1 + x3   
POL(new_groupByZs0118(x1, x2)) = 1 + x2   
POL(new_groupByZs0119(x1, x2, x3)) = 1 + x3   
POL(new_groupByZs012(x1, x2, x3, x4, x5)) = 1 + x4   
POL(new_groupByZs0120(x1, x2)) = 1 + x1 + x2   
POL(new_groupByZs0121(x1, x2)) = 1 + x2   
POL(new_groupByZs0122(x1, x2)) = 1 + x1 + x2   
POL(new_groupByZs0123(x1, x2, x3, x4)) = 1 + x3   
POL(new_groupByZs0124(x1, x2)) = 1 + x2   
POL(new_groupByZs0125(x1, x2, x3)) = 1 + x3   
POL(new_groupByZs0126(x1, x2)) = 1 + x2   
POL(new_groupByZs0127(x1, x2)) = 1 + x1 + x2   
POL(new_groupByZs0128(x1, x2, x3, x4)) = 1 + x3   
POL(new_groupByZs0129(x1, x2, x3)) = 1 + x3   
POL(new_groupByZs013(x1, x2, x3, x4, x5)) = 1 + x5   
POL(new_groupByZs0130(x1, x2)) = 1 + x1 + x2   
POL(new_groupByZs0131(x1, x2)) = 1 + x2   
POL(new_groupByZs0132(x1, x2)) = 1 + x2   
POL(new_groupByZs0133(x1, x2)) = 1 + x2   
POL(new_groupByZs0134(x1, x2)) = 1 + x2   
POL(new_groupByZs0135(x1, x2, x3, x4)) = 1 + x3   
POL(new_groupByZs0136(x1, x2)) = 1 + x2   
POL(new_groupByZs0137(x1, x2, x3)) = 1 + x3   
POL(new_groupByZs0138(x1, x2)) = 1 + x1 + x2   
POL(new_groupByZs0139(x1, x2)) = 1 + x2   
POL(new_groupByZs014(x1, x2, x3, x4, x5)) = x5   
POL(new_groupByZs0140(x1, x2)) = x2   
POL(new_groupByZs0141(x1, x2)) = 1 + x2   
POL(new_groupByZs0142(x1, x2, x3, x4)) = 1 + x3   
POL(new_groupByZs0143(x1, x2)) = 1 + x1 + x2   
POL(new_groupByZs0144(x1, x2, x3)) = 1 + x3   
POL(new_groupByZs0145(x1, x2)) = x1 + x2   
POL(new_groupByZs0146(x1, x2)) = 1 + x2   
POL(new_groupByZs0147(x1, x2, x3)) = 1 + x3   
POL(new_groupByZs0148(x1, x2)) = 1 + x2   
POL(new_groupByZs0149(x1, x2)) = x2   
POL(new_groupByZs015(x1, x2, x3, x4, x5)) = 1 + x2 + x4   
POL(new_groupByZs0150(x1, x2, x3, x4)) = 1 + x3   
POL(new_groupByZs0151(x1, x2)) = 1 + x1 + x2   
POL(new_groupByZs0152(x1, x2)) = 1 + x2   
POL(new_groupByZs0153(x1, x2)) = x1 + x2   
POL(new_groupByZs0154(x1, x2)) = 1 + x2   
POL(new_groupByZs0155(x1, x2)) = 1 + x2   
POL(new_groupByZs0156(x1, x2, x3, x4, x5)) = x5   
POL(new_groupByZs0157(x1, x2, x3, x4)) = x4   
POL(new_groupByZs0158(x1, x2, x3, x4, x5)) = x5   
POL(new_groupByZs0159(x1, x2, x3, x4)) = x4   
POL(new_groupByZs016(x1, x2, x3)) = 1 + x3   
POL(new_groupByZs0160(x1, x2, x3, x4, x5)) = 1 + x5   
POL(new_groupByZs0161(x1, x2, x3, x4, x5)) = 1 + x1 + x5   
POL(new_groupByZs0162(x1, x2, x3, x4)) = 1 + x1 + x4   
POL(new_groupByZs0163(x1, x2, x3, x4, x5)) = x5   
POL(new_groupByZs0164(x1, x2, x3, x4)) = x4   
POL(new_groupByZs0165(x1, x2, x3, x4)) = x4   
POL(new_groupByZs0166(x1, x2, x3)) = 1 + x1 + x3   
POL(new_groupByZs0167(x1, x2, x3, x4, x5)) = x5   
POL(new_groupByZs0168(x1, x2, x3, x4, x5)) = x5   
POL(new_groupByZs0169(x1, x2, x3, x4, x5)) = 1 + x2 + x4   
POL(new_groupByZs017(x1, x2, x3, x4, x5)) = 1 + x4   
POL(new_groupByZs0170(x1, x2, x3, x4, x5)) = x5   
POL(new_groupByZs0171(x1, x2, x3, x4, x5)) = 1 + x4   
POL(new_groupByZs018(x1, x2, x3, x4, x5)) = 1 + x5   
POL(new_groupByZs019(x1, x2)) = 1 + x2   
POL(new_groupByZs02(x1, x2, x3)) = 1 + x1 + x3   
POL(new_groupByZs020(x1, x2, x3, x4, x5)) = x5   
POL(new_groupByZs021(x1, x2, x3, x4)) = x4   
POL(new_groupByZs022(x1, x2)) = 1 + x2   
POL(new_groupByZs023(x1, x2)) = 1 + x2   
POL(new_groupByZs024(x1, x2)) = 1 + x2   
POL(new_groupByZs025(x1, x2)) = 1 + x2   
POL(new_groupByZs026(x1, x2, x3, x4)) = 1 + x4   
POL(new_groupByZs027(x1, x2, x3, x4, x5)) = 1 + x5   
POL(new_groupByZs028(x1, x2, x3)) = 1 + x3   
POL(new_groupByZs029(x1, x2)) = 1 + x2   
POL(new_groupByZs03(x1, x2)) = 1 + x2   
POL(new_groupByZs030(x1, x2)) = 1 + x2   
POL(new_groupByZs031(x1, x2)) = 1 + x1 + x2   
POL(new_groupByZs032(x1, x2, x3, x4)) = x4   
POL(new_groupByZs033(x1, x2, x3)) = 1 + x3   
POL(new_groupByZs034(x1, x2)) = x1 + x2   
POL(new_groupByZs035(x1, x2, x3)) = 1 + x3   
POL(new_groupByZs036(x1, x2, x3, x4)) = 1 + x3   
POL(new_groupByZs037(x1, x2, x3)) = 1 + x3   
POL(new_groupByZs038(x1, x2)) = 1 + x1 + x2   
POL(new_groupByZs039(x1, x2, x3, x4, x5, x6)) = 1 + x5   
POL(new_groupByZs04(x1, x2)) = 1 + x2   
POL(new_groupByZs040(x1, x2, x3, x4, x5)) = 1 + x4   
POL(new_groupByZs041(x1, x2, x3, x4, x5)) = 1 + x4   
POL(new_groupByZs042(x1, x2, x3, x4, x5)) = 1 + x4   
POL(new_groupByZs043(x1, x2, x3, x4)) = 1 + x4   
POL(new_groupByZs044(x1, x2, x3, x4)) = 1 + x3   
POL(new_groupByZs045(x1, x2, x3)) = 1 + x1 + x3   
POL(new_groupByZs046(x1, x2, x3)) = 1 + x1 + x3   
POL(new_groupByZs047(x1, x2, x3)) = 1 + x3   
POL(new_groupByZs048(x1, x2, x3)) = 1 + x3   
POL(new_groupByZs049(x1, x2, x3, x4)) = 1 + x3   
POL(new_groupByZs05(x1, x2)) = 1 + x1 + x2   
POL(new_groupByZs050(x1, x2, x3, x4)) = 1 + x3   
POL(new_groupByZs051(x1, x2, x3, x4)) = 1 + x4   
POL(new_groupByZs052(x1, x2, x3, x4)) = 1 + x3   
POL(new_groupByZs053(x1, x2, x3, x4)) = 1 + x3   
POL(new_groupByZs054(x1, x2)) = 1 + x2   
POL(new_groupByZs055(x1, x2, x3)) = 1 + x3   
POL(new_groupByZs056(x1, x2)) = x1 + x2   
POL(new_groupByZs057(x1, x2, x3, x4)) = 1 + x3   
POL(new_groupByZs058(x1, x2)) = 1 + x2   
POL(new_groupByZs059(x1, x2, x3)) = 1 + x3   
POL(new_groupByZs06(x1, x2, x3, x4, x5)) = 1 + x5   
POL(new_groupByZs060(x1, x2)) = x1 + x2   
POL(new_groupByZs061(x1, x2, x3, x4)) = 1 + x3   
POL(new_groupByZs062(x1, x2)) = 1 + x2   
POL(new_groupByZs063(x1, x2, x3)) = 1 + x3   
POL(new_groupByZs064(x1, x2)) = x1 + x2   
POL(new_groupByZs065(x1, x2)) = 1 + x2   
POL(new_groupByZs066(x1, x2)) = x1 + x2   
POL(new_groupByZs067(x1, x2, x3, x4)) = 1 + x3   
POL(new_groupByZs068(x1, x2)) = 1 + x2   
POL(new_groupByZs069(x1, x2)) = 1 + x1 + x2   
POL(new_groupByZs07(x1, x2, x3)) = 1 + x3   
POL(new_groupByZs070(x1, x2)) = 1 + x2   
POL(new_groupByZs071(x1, x2)) = x1 + x2   
POL(new_groupByZs072(x1, x2, x3, x4)) = 1 + x3   
POL(new_groupByZs073(x1, x2)) = 1 + x2   
POL(new_groupByZs074(x1, x2)) = 1 + x2   
POL(new_groupByZs075(x1, x2)) = 1 + x2   
POL(new_groupByZs076(x1, x2)) = 1 + x2   
POL(new_groupByZs077(x1, x2, x3, x4)) = 1 + x3   
POL(new_groupByZs078(x1, x2, x3)) = 1 + x3   
POL(new_groupByZs079(x1, x2)) = x2   
POL(new_groupByZs08(x1, x2, x3, x4)) = 1 + x3   
POL(new_groupByZs080(x1, x2)) = 1 + x2   
POL(new_groupByZs081(x1, x2)) = 1 + x1 + x2   
POL(new_groupByZs082(x1, x2)) = 1 + x1 + x2   
POL(new_groupByZs083(x1, x2, x3)) = 1 + x3   
POL(new_groupByZs084(x1, x2)) = x1 + x2   
POL(new_groupByZs085(x1, x2)) = 1 + x2   
POL(new_groupByZs086(x1, x2)) = 1 + x2   
POL(new_groupByZs087(x1, x2, x3, x4)) = 1 + x3   
POL(new_groupByZs088(x1, x2)) = 1 + x2   
POL(new_groupByZs089(x1, x2, x3)) = 1 + x3   
POL(new_groupByZs09(x1, x2, x3)) = 1 + x3   
POL(new_groupByZs090(x1, x2)) = 1 + x1 + x2   
POL(new_groupByZs091(x1, x2)) = x2   
POL(new_groupByZs092(x1, x2)) = 1 + x2   
POL(new_groupByZs093(x1, x2, x3, x4, x5, x6)) = 1 + x5   
POL(new_groupByZs094(x1, x2, x3, x4, x5)) = 1 + x4   
POL(new_groupByZs095(x1, x2, x3, x4, x5)) = 1 + x4   
POL(new_groupByZs096(x1, x2, x3, x4, x5)) = 1 + x1 + x4   
POL(new_groupByZs097(x1, x2, x3, x4, x5)) = 1 + x4   
POL(new_groupByZs098(x1, x2, x3, x4)) = 1 + x4   
POL(new_groupByZs099(x1, x2, x3, x4, x5)) = 1 + x5   
POL(new_primEqNat0(x1, x2)) = 0   
POL(new_span2Ys110(x1, x2, x3)) = 1 + x2   
POL(new_span2Ys111(x1, x2, x3, x4)) = 1 + x3   
POL(new_span2Ys112(x1, x2, x3)) = 1 + x2   
POL(new_span2Ys113(x1, x2, x3, x4)) = 1 + x3   
POL(new_span2Ys114(x1, x2, x3, x4)) = 1 + x3   
POL(new_span2Ys115(x1, x2, x3, x4, x5)) = 1 + x4   
POL(new_span2Ys116(x1, x2, x3, x4)) = 1 + x1 + x3   
POL(new_span2Ys117(x1, x2, x3, x4, x5)) = 1 + x4   
POL(new_span2Ys118(x1, x2, x3, x4)) = 1 + x3   
POL(new_span2Ys119(x1, x2, x3, x4, x5)) = 1 + x4   
POL(new_span2Ys120(x1, x2, x3, x4)) = 1 + x3   
POL(new_span2Ys121(x1, x2, x3, x4)) = 1 + x3   
POL(new_span2Ys122(x1, x2, x3)) = 1 + x2   
POL(new_span2Ys123(x1, x2, x3, x4)) = 1 + x3   
POL(new_span2Ys124(x1, x2, x3)) = 1 + x2   
POL(new_span2Ys19(x1, x2, x3, x4, x5)) = 1 + x4   
POL(new_span2Ys20(x1)) = x1   
POL(new_span2Ys21(x1, x2)) = x1 + x2   
POL(new_span2Ys22(x1)) = x1   
POL(new_span2Ys23(x1, x2)) = x2   
POL(new_span2Ys24(x1)) = x1   
POL(new_span2Ys25(x1, x2)) = x2   
POL(new_span2Ys26(x1, x2)) = x2   
POL(new_span2Ys27(x1)) = x1   
POL(new_span2Zs110(x1, x2, x3, x4)) = x4   
POL(new_span2Zs111(x1, x2, x3, x4)) = 1 + x3   
POL(new_span2Zs112(x1, x2, x3, x4, x5)) = 1 + x5   
POL(new_span2Zs113(x1, x2, x3, x4)) = 1 + x3   
POL(new_span2Zs114(x1, x2, x3)) = 1 + x2   
POL(new_span2Zs115(x1, x2, x3, x4, x5)) = x5   
POL(new_span2Zs116(x1, x2, x3, x4)) = 1 + x3   
POL(new_span2Zs117(x1, x2, x3, x4, x5)) = x5   
POL(new_span2Zs118(x1, x2, x3, x4)) = 1 + x3   
POL(new_span2Zs119(x1, x2, x3, x4)) = x4   
POL(new_span2Zs120(x1, x2, x3, x4)) = x4   
POL(new_span2Zs121(x1, x2, x3)) = 1 + x2   
POL(new_span2Zs122(x1, x2, x3)) = 1 + x2   
POL(new_span2Zs123(x1, x2, x3, x4, x5)) = x5   
POL(new_span2Zs124(x1, x2, x3, x4, x5)) = x5   
POL(new_span2Zs125(x1, x2, x3, x4, x5)) = 1 + x4   
POL(new_span2Zs126(x1, x2, x3)) = 1 + x2   
POL(new_span2Zs127(x1, x2, x3, x4, x5)) = 1 + x4   
POL(new_span2Zs128(x1, x2, x3, x4, x5)) = x5   
POL(new_span2Zs129(x1, x2, x3, x4)) = x4   
POL(new_span2Zs19(x1, x2)) = x2   
POL(new_span2Zs20(x1)) = x1   
POL(new_span2Zs21(x1)) = x1   
POL(new_span2Zs22(x1)) = x1   
POL(new_span2Zs23(x1, x2)) = x2   
POL(new_span2Zs24(x1, x2)) = x2   
POL(new_span2Zs25(x1)) = x1   
POL(new_span2Zs26(x1)) = x1   
POL(new_span2Zs27(x1)) = 1 + x1   
POL(new_span2Zs28(x1)) = 1 + x1   
POL(new_span2Zs29(x1)) = x1   
POL(new_span2Zs30(x1)) = x1   
POL(new_span2Zs31(x1)) = x1   
POL(new_span2Zs32(x1)) = 1 + x1   
POL(new_span2Zs33(x1)) = x1   
POL(new_span2Zs34(x1)) = x1   
POL(new_span2Zs35(x1)) = x1   
POL(new_span2Zs36(x1)) = x1   
POL(new_span2Zs37(x1)) = x1   
POL(new_span2Zs38(x1)) = x1   
POL(new_span2Zs39(x1)) = 1 + x1   
POL(new_span2Zs40(x1)) = x1   
POL(new_span2Zs41(x1)) = x1   
POL(new_span2Zs42(x1)) = 1 + x1   
POL(new_span2Zs43(x1)) = x1   
POL(new_span2Zs44(x1, x2)) = x2   
POL(new_span2Zs45(x1)) = 1 + x1   
POL(new_span2Zs46(x1, x2, x3)) = x3   
POL(new_span2Zs47(x1, x2, x3)) = x3   
POL(new_span2Zs48(x1)) = x1   

The following usable rules [17] were oriented:

new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(yy301000)))), :(:%(Pos(Succ(Zero)), Pos(Succ(Zero))), yy311)) → :(:%(Pos(Succ(Zero)), Pos(Succ(Zero))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(yy30100))), :(:%(Neg(Zero), Pos(yy31010)), yy311)) → :(:%(Neg(Zero), Pos(yy31010)), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs087(yy301000000000, yy3101000000000, yy311, new_primEqNat0(yy301000000000, yy3101000000000))
new_groupByZs051(yy183, yy184, yy185, yy186) → :(:%(Pos(Succ(yy184)), Neg(yy185)), yy186)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Zero)), :(:%(Pos(Succ(Succ(Zero))), Neg(Zero)), yy311)) → new_groupByZs014(Succ(Zero), Pos(Zero), Succ(Zero), Neg(Zero), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(yy301000)))), :(:%(Neg(Succ(Zero)), Pos(Succ(Zero))), yy311)) → :(:%(Neg(Succ(Zero)), Pos(Succ(Zero))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(yy3010000))))), :(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), yy311)
new_span2Zs35(:(yy3110, yy3111)) → new_span2Zs118(Succ(Zero), yy3110, yy3111, new_esEs(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), yy3110))
new_groupByZs0149(yy501, yy502) → new_span2Zs48(yy502)
new_groupByZs0150(yy301000000000, yy3101000000000, yy311, False) → new_groupByZs028(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy3101000000000, yy311)
new_groupByZs0138(yy1112, yy1113) → new_groupByZs0162(yy1112, yy1113, new_span2Ys25(yy1112, yy1113), new_span2Zs23(yy1112, yy1113))
new_groupByZs095(yy301, yy3100000000000, yy3101, yy311, True) → new_groupByZs06(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy301, Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3100000000000))))))), yy3101, yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), yy311)) → new_groupByZs06(Succ(Succ(Succ(Zero))), Neg(Succ(Zero)), Succ(Succ(Succ(Zero))), Neg(Succ(Zero)), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(yy30100))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(yy31010)), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(yy31010)), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → new_groupByZs063(Succ(Succ(Succ(Succ(Succ(Zero))))), yy310100000000, yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(yy301000)))), :(:%(Pos(Zero), Pos(Succ(Zero))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Zero))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → new_groupByZs059(Succ(Succ(Succ(Succ(Zero)))), yy31010000000, yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs06(Succ(Zero), Pos(Succ(Succ(Succ(Zero)))), Succ(Zero), Pos(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Zero)), :(:%(Neg(Zero), Neg(Succ(yy310100))), yy311)) → :(:%(Neg(Zero), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs092(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs0105(yy30100000, Succ(Succ(Zero)), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Zero))), :(:%(Neg(Zero), Neg(Succ(Succ(yy3101000)))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(yy30100))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(yy31010)), yy311)) → new_groupByZs0107(yy30100, Succ(Succ(Zero)), yy31010, yy311)
new_groupByZs097(yy301, yy310000000000, yy3101, yy311, True) → new_groupByZs06(Succ(Succ(Succ(Succ(Succ(Zero))))), yy301, Succ(Succ(Succ(Succ(Succ(Succ(yy310000000000)))))), yy3101, yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(yy30100))), :(:%(Pos(Zero), Pos(Zero)), yy311)) → :(:%(Pos(Zero), Pos(Zero)), yy311)
new_groupByZs0100(Neg(Succ(Zero)), yy74, Neg(Succ(Succ(yy75000))), yy76) → new_groupByZs099(Zero, Neg(Succ(Zero)), yy74, Neg(Succ(Succ(yy75000))), yy76)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs06(Succ(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Succ(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_groupByZs014(Succ(Zero), Neg(Succ(Succ(Succ(Succ(Zero))))), Succ(Zero), Neg(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Zero)), :(:%(Pos(Zero), Neg(Succ(yy310100))), yy311)) → :(:%(Pos(Zero), Neg(Succ(yy310100))), yy311)
new_groupByZs0(yy30, []) → []
new_groupByZs0(:%(Neg(Zero), yy301), :(:%(Neg(Succ(yy310000)), yy3101), yy311)) → :(:%(Neg(Succ(yy310000)), yy3101), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), yy311)) → new_groupByZs06(Succ(Succ(Zero)), Pos(Zero), Succ(Succ(Zero)), Pos(Zero), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Zero)), :(:%(Pos(Zero), Neg(Zero)), yy311)) → new_span2Zs25(yy311)
new_groupByZs0110(yy1269, yy1270) → new_groupByZs0109(Succ(Succ(Succ(Zero))), yy1269, yy1270)
new_groupByZs0145(yy1119, yy1120) → new_groupByZs021(yy1119, yy1120, new_span2Ys23(yy1119, yy1120), new_span2Zs19(yy1119, yy1120))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(yy301000)))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))), yy311)) → new_groupByZs06(Succ(Succ(Zero)), Neg(Succ(Zero)), Succ(Succ(Zero)), Neg(Succ(Zero)), yy311)
new_groupByZs030(yy745, yy746) → :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy746)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → new_groupByZs055(Succ(Succ(Succ(Succ(Zero)))), yy31010000000, yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Zero))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(yy3101000)))), yy311)) → :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Zero))), :(:%(Neg(Zero), Pos(Succ(Zero))), yy311)) → new_span2Zs40(yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), yy311)) → new_groupByZs06(Succ(Succ(Succ(Zero))), Neg(Zero), Succ(Succ(Succ(Zero))), Neg(Zero), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → new_groupByZs036(yy3010000000, yy31010000000, yy311, new_primEqNat0(yy3010000000, yy31010000000))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → new_groupByZs083(Succ(Succ(Succ(Succ(Succ(Zero))))), yy310100000000, yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(yy31010000))))), yy311)) → new_groupByZs0109(Succ(Zero), Succ(Succ(yy31010000)), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), yy311)) → new_groupByZs06(Succ(Succ(Succ(Zero))), Pos(Zero), Succ(Succ(Succ(Zero))), Neg(Zero), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs06(Succ(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Succ(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs058(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(yy30000000))))), yy301), :(:%(Neg(Succ(Succ(Succ(Zero)))), yy3101), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), yy3101), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs074(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy300000000000))))))))), yy301), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy3101), yy311)) → new_groupByZs094(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy300000000000))))))), yy301, yy3101, yy311, new_asAs1(yy301, yy3101))
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Zero)), :(:%(Pos(Succ(Zero)), Neg(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Zero)), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), yy311)) → new_span2Zs31(yy311)
new_groupByZs011(Pos(Succ(Succ(yy63000))), yy64, Pos(Succ(Zero)), yy66) → new_groupByZs013(Zero, Pos(Succ(Succ(yy63000))), yy64, Pos(Succ(Zero)), yy66)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(yy30100))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(yy31010)), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(yy31010)), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs06(Zero, Pos(Succ(Succ(Succ(Zero)))), Zero, Pos(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), yy311)) → new_groupByZs014(Succ(Succ(Succ(Zero))), Pos(Succ(Zero)), Succ(Succ(Succ(Zero))), Pos(Succ(Zero)), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → new_groupByZs053(yy3010000000, yy31010000000, yy311, new_primEqNat0(yy3010000000, yy31010000000))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_span2Zs34(yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(yy30100))), :(:%(Pos(Zero), Pos(yy31010)), yy311)) → :(:%(Pos(Zero), Pos(yy31010)), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs028(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy3101000000000, yy311)
new_groupByZs053(yy3010000000, yy31010000000, yy311, False) → new_groupByZs055(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy31010000000, yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs077(yy301000000000, yy3101000000000, yy311, True) → new_groupByZs0168(yy301000000000, yy3101000000000, yy311, new_span2Ys26(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311), new_span2Zs44(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311))
new_groupByZs097(yy301, yy310000000000, yy3101, yy311, False) → new_groupByZs0160(Succ(Succ(Succ(Succ(Succ(Zero))))), yy301, yy310000000000, yy3101, yy311)
new_groupByZs0104(yy30100000, yy310100000, yy311, False) → new_groupByZs0105(yy30100000, Succ(Succ(Succ(yy310100000))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), yy311)) → new_groupByZs014(Succ(Zero), Pos(Succ(Succ(Zero))), Succ(Zero), Pos(Succ(Succ(Zero))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Zero)), :(:%(Neg(Zero), Pos(Zero)), yy311)) → new_span2Zs22(yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(yy3101000)))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(yy3101000)))), yy311)
new_groupByZs011(Pos(Zero), yy64, Neg(Zero), yy66) → new_groupByZs014(Succ(Succ(Succ(Succ(Zero)))), Pos(Zero), yy64, Neg(Zero), yy66)
new_groupByZs0100(Neg(Succ(yy7300)), yy74, Neg(Zero), yy76) → new_groupByZs099(Zero, Neg(Succ(yy7300)), yy74, Neg(Zero), yy76)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs084(Succ(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_span2Zs121(yy3110, yy3111, True) → new_span2Zs129(yy3110, yy3111, new_span2Ys20(yy3111), new_span2Zs22(yy3111))
new_groupByZs0118(yy1088, yy1089) → :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy1089)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy301), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310000000000)))))))), yy3101), yy311)) → new_groupByZs097(yy301, yy310000000000, yy3101, yy311, new_asAs1(yy301, yy3101))
new_span2Zs121(yy3110, yy3111, False) → :(yy3110, yy3111)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs048(yy390, yy391, yy392) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(yy391))), yy392)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs054(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs0129(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy3101000000000, yy311)
new_span2Zs39(:(yy3110, yy3111)) → new_span2Zs116(Succ(Zero), yy3110, yy3111, new_esEs(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), yy3110))
new_span2Ys124(yy3110, yy3111, True) → new_span2Ys123(yy3110, yy3111, new_span2Ys24(yy3111), new_span2Zs25(yy3111))
new_span2Zs46(yy384, yy385, []) → []
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Zero)), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(yy3010000))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy301), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy3101), yy311)) → new_groupByZs040(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy301, yy3101, yy311, new_asAs2(yy301, yy3101))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → new_groupByZs050(yy301000000, yy3101000000, yy311, new_primEqNat0(yy301000000, yy3101000000))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), yy311)) → new_groupByZs06(Succ(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), yy311)
new_groupByZs0(:%(Neg(Zero), yy301), :(:%(Pos(Succ(yy310000)), yy3101), yy311)) → :(:%(Pos(Succ(yy310000)), yy3101), yy311)
new_groupByZs090(yy1066, yy1067) → new_groupByZs0164(yy1066, yy1067, new_span2Ys26(yy1066, yy1067), new_span2Zs44(yy1066, yy1067))
new_groupByZs075(yy450, yy451) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy451)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs014(Succ(Zero), Neg(Succ(Succ(Succ(Zero)))), Succ(Zero), Neg(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(yy30100))), :(:%(Neg(Succ(Succ(Zero))), Pos(Zero)), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Pos(Zero)), yy311)
new_groupByZs03(yy1123, yy1124) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy1124)
new_span2Zs25([]) → []
new_groupByZs0104(yy30100000, yy310100000, yy311, True) → new_groupByZs06(Succ(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(yy30100000))))), Succ(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(yy310100000))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), yy301), :(:%(Pos(Succ(Succ(Succ(yy31000000)))), yy3101), yy311)) → :(:%(Pos(Succ(Succ(Succ(yy31000000)))), yy3101), yy311)
new_span2Zs113(yy766, yy7670, yy7671, True) → new_span2Zs112(yy766, yy7670, yy7671, new_span2Ys25(yy766, yy7671), new_span2Zs23(yy766, yy7671))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs089(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy3101000000000, yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs0121(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), yy311)) → new_groupByZs014(Succ(Succ(Zero)), Pos(Zero), Succ(Succ(Zero)), Pos(Zero), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs0140(Succ(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0133(yy486, yy487) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy487)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(yy30100))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(yy31010)), yy311)) → new_groupByZs051(yy30100, Succ(Succ(Zero)), yy31010, yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs029(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_groupByZs06(Succ(Zero), Pos(Succ(Succ(Succ(Succ(Zero))))), Succ(Zero), Pos(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs060(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_span2Zs29([]) → []
new_span2Zs38([]) → []
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Zero)), :(:%(Pos(Succ(Succ(Zero))), Pos(Zero)), yy311)) → new_groupByZs014(Succ(Zero), Neg(Zero), Succ(Zero), Pos(Zero), yy311)
new_span2Zs27(:(yy4600, yy4601)) → new_span2Zs118(Succ(Succ(Succ(Succ(Zero)))), yy4600, yy4601, new_esEs(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy4600))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))), yy311)) → new_groupByZs06(Zero, Pos(Succ(Succ(Zero))), Zero, Pos(Succ(Succ(Zero))), yy311)
new_groupByZs036(yy3010000000, yy31010000000, yy311, True) → new_groupByZs06(Succ(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000))))))), Succ(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000))))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(yy30100))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), yy311)
new_span2Zs120(yy3110, yy3111, yy151, yy150) → yy150
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(yy3010000))))), :(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), yy311)
new_groupByZs011(Pos(Zero), yy64, Neg(Succ(yy6500)), yy66) → new_groupByZs013(Zero, Pos(Zero), yy64, Neg(Succ(yy6500)), yy66)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(yy301000)))), :(:%(Neg(Zero), Neg(Succ(Zero))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Zero))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Zero))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(yy3101000)))), yy311)) → :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(yy3101000)))), yy311)
new_span2Zs32(:(yy3110, yy3111)) → new_span2Zs111(Zero, yy3110, yy3111, new_esEs(:%(Pos(Zero), Pos(Succ(Zero))), yy3110))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(yy30100))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(yy31010)), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(yy31010)), yy311)
new_groupByZs061(yy30100000000, yy310100000000, yy311, True) → new_groupByZs014(Zero, Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))))), Zero, Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000)))))))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs0131(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy311)
new_groupByZs042(yy301, yy310000000000, yy3101, yy311, False) → new_groupByZs027(Succ(Succ(Succ(Succ(Succ(Zero))))), yy301, yy310000000000, yy3101, yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs023(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs025(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Zero)), :(:%(Pos(Zero), Pos(Zero)), yy311)) → new_span2Zs25(yy311)
new_groupByZs081(yy726, yy727) → new_span2Zs44(yy726, yy727)
new_groupByZs050(yy301000000, yy3101000000, yy311, True) → new_groupByZs014(Succ(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(yy301000000)))))), Succ(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000)))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), :(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), yy311)) → new_span2Zs39(yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(yy301000)))), :(:%(Neg(Zero), Pos(Succ(Zero))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Zero))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs030(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_groupByZs063(yy1166, yy1167, yy1168) → :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy1167))))))))), yy1168)
new_groupByZs0(:%(Pos(Succ(yy30000)), yy301), :(:%(Neg(yy31000), yy3101), yy311)) → :(:%(Neg(yy31000), yy3101), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))), yy311)) → new_groupByZs06(Succ(Zero), Pos(Succ(Zero)), Succ(Zero), Pos(Succ(Zero)), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs0138(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_span2Zs45(:(yy4960, yy4961)) → new_span2Zs113(Succ(Succ(Succ(Succ(Zero)))), yy4960, yy4961, new_esEs(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy4960))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Zero)), yy311)) → new_groupByZs014(Succ(Succ(Zero)), Pos(Zero), Succ(Succ(Zero)), Neg(Zero), yy311)
new_groupByZs0139(yy763, yy764) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy764)
new_span2Ys27(:(yy3110, yy3111)) → new_span2Ys122(yy3110, yy3111, new_esEs(:%(Neg(Zero), Pos(Zero)), yy3110))
new_groupByZs0(:%(Pos(Zero), Pos(Zero)), :(:%(Pos(Zero), Neg(Zero)), yy311)) → new_span2Zs33(yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Zero)), :(:%(Neg(Zero), Pos(Zero)), yy311)) → new_span2Zs41(yy311)
new_groupByZs026(yy1059, yy1060, yy1265, yy1264) → yy1264
new_span2Zs33(:(yy3110, yy3111)) → new_span2Zs126(yy3110, yy3111, new_esEs(:%(Pos(Zero), Pos(Zero)), yy3110))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), :(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), yy311)) → new_span2Zs30(yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs014(Succ(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Succ(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(yy30100))), :(:%(Neg(Succ(Succ(Zero))), Neg(yy31010)), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Neg(yy31010)), yy311)
new_groupByZs089(yy1190, yy1191, yy1192) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy1191)))))))))), yy1192)
new_span2Zs110(yy3110, yy3111, yy159, yy158) → yy158
new_groupByZs077(yy301000000000, yy3101000000000, yy311, False) → new_groupByZs078(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy3101000000000, yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Zero)), yy311)) → new_groupByZs06(Succ(Succ(Zero)), Pos(Zero), Succ(Succ(Zero)), Neg(Zero), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Zero)), :(:%(Pos(Zero), Pos(Succ(yy310100))), yy311)) → :(:%(Pos(Zero), Pos(Succ(yy310100))), yy311)
new_groupByZs085(yy462, yy463) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy463)
new_groupByZs059(yy1162, yy1163, yy1164) → :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy1163)))))))), yy1164)
new_groupByZs056(yy1017, yy1018) → new_groupByZs014(Succ(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Succ(Zero), Pos(Succ(yy1017)), yy1018)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Zero)), :(:%(Neg(Succ(Zero)), Pos(Zero)), yy311)) → new_groupByZs06(Zero, Pos(Zero), Zero, Pos(Zero), yy311)
new_groupByZs0100(Neg(Zero), yy74, Neg(Succ(yy7500)), yy76) → new_groupByZs099(Zero, Neg(Zero), yy74, Neg(Succ(yy7500)), yy76)
new_groupByZs04(yy492, yy493) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy493)
new_groupByZs067(yy30100000000, yy310100000000, yy311, True) → new_groupByZs014(Zero, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))))), Zero, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000)))))))), yy311)
new_span2Zs48([]) → []
new_groupByZs0126(yy751, yy752) → :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy752)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy301), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3100000000000))))))))), yy3101), yy311)) → new_groupByZs017(yy301, yy3100000000000, yy3101, yy311, new_asAs1(yy301, yy3101))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs06(Zero, Neg(Succ(Succ(Succ(Zero)))), Zero, Neg(Succ(Succ(Succ(Zero)))), yy311)
new_span2Zs36(:(yy3110, yy3111)) → new_span2Zs118(Zero, yy3110, yy3111, new_esEs(:%(Pos(Zero), Neg(Succ(Zero))), yy3110))
new_groupByZs0124(yy1095, yy1096) → :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy1096)
new_span2Zs27([]) → []
new_groupByZs0115(yy1202, yy1203, yy1204) → :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy1203)))))))), yy1204)
new_groupByZs086(yy465, yy466) → new_span2Zs28(yy466)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs06(Succ(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Succ(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs056(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(yy3010000))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(yy301000)))), :(:%(Neg(Zero), Neg(Succ(Zero))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Zero))), yy311)
new_span2Ys26(yy612, []) → []
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Zero)), :(:%(Neg(Succ(Succ(Zero))), Neg(Zero)), yy311)) → new_groupByZs06(Succ(Zero), Neg(Zero), Succ(Zero), Neg(Zero), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_groupByZs06(Succ(Zero), Neg(Succ(Succ(Succ(Succ(Zero))))), Succ(Zero), Neg(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Zero)), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), yy311)) → new_groupByZs06(Succ(Succ(Succ(Zero))), Pos(Succ(Zero)), Succ(Succ(Succ(Zero))), Pos(Succ(Zero)), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(yy3101000)))), yy311)) → new_groupByZs046(Succ(Succ(Succ(Zero))), yy3101000, yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_groupByZs06(Succ(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Succ(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Zero)), :(:%(Pos(Succ(Zero)), Pos(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Zero)), Pos(Succ(yy310100))), yy311)
new_span2Ys120(yy3110, yy3111, yy114, yy113) → :(yy3110, yy114)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy301), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31000000000))))))), yy3101), yy311)) → new_groupByZs099(Zero, yy301, Succ(Succ(Succ(Succ(Succ(yy31000000000))))), yy3101, yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs070(yy711, yy712) → :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy712)
new_groupByZs0(:%(Pos(Zero), Neg(Zero)), :(:%(Neg(Zero), Neg(Zero)), yy311)) → new_span2Zs25(yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs031(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), yy311)) → new_groupByZs06(Succ(Succ(Succ(Zero))), Pos(Zero), Succ(Succ(Succ(Zero))), Pos(Zero), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(yy30100))), :(:%(Pos(Zero), Neg(Zero)), yy311)) → :(:%(Pos(Zero), Neg(Zero)), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs0133(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(yy3101000)))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0100(Pos(Zero), yy74, Pos(Zero), yy76) → new_groupByZs06(Succ(Succ(Succ(Succ(Zero)))), Pos(Zero), yy74, Pos(Zero), yy76)
new_groupByZs031(yy1045, yy1046) → new_groupByZs032(yy1045, yy1046, new_span2Ys21(yy1045, yy1046), new_span2Zs24(yy1045, yy1046))
new_groupByZs0159(yy1105, yy1106, yy1272, yy1271) → yy1271
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs022(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy311)
new_groupByZs078(yy1180, yy1181, yy1182) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy1181)))))))))), yy1182)
new_groupByZs011(Pos(Succ(yy6300)), yy64, Neg(yy650), yy66) → new_groupByZs013(Zero, Pos(Succ(yy6300)), yy64, Neg(yy650), yy66)
new_groupByZs053(yy3010000000, yy31010000000, yy311, True) → new_groupByZs014(Succ(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000))))))), Succ(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000))))))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Zero)), :(:%(Neg(Succ(Zero)), Pos(Zero)), yy311)) → new_groupByZs06(Zero, Neg(Zero), Zero, Pos(Zero), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(yy30100))), :(:%(Pos(Zero), Pos(Zero)), yy311)) → :(:%(Pos(Zero), Pos(Zero)), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs071(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(yy30100))), :(:%(Pos(Succ(Zero)), Pos(Zero)), yy311)) → :(:%(Pos(Succ(Zero)), Pos(Zero)), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Zero)), :(:%(Neg(Zero), Neg(Zero)), yy311)) → new_span2Zs22(yy311)
new_span2Ys23(yy652, :(yy6530, yy6531)) → new_span2Ys118(yy652, yy6530, yy6531, new_esEs(:%(Neg(Zero), Pos(Succ(yy652))), yy6530))
new_groupByZs0(:%(Pos(Zero), yy301), :(:%(Neg(Succ(yy310000)), yy3101), yy311)) → :(:%(Neg(Succ(yy310000)), yy3101), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(yy30100))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), yy311)
new_span2Zs22([]) → []
new_groupByZs0(:%(Neg(Zero), Neg(Succ(yy30100))), :(:%(Neg(Zero), Neg(Zero)), yy311)) → :(:%(Neg(Zero), Neg(Zero)), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_span2Ys116(yy606, yy6070, yy6071, False) → []
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(yy30100))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), yy311)
new_groupByZs08(yy301000000000, yy3101000000000, yy311, False) → new_groupByZs09(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy3101000000000, yy311)
new_groupByZs0147(yy941, yy942, yy943) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy942))))))))), yy943)
new_span2Zs116(yy760, yy7610, yy7611, False) → :(yy7610, yy7611)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy301), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy3101), yy311)) → new_groupByZs096(Succ(Succ(Succ(Succ(Succ(Zero))))), yy301, yy3101, yy311, new_asAs2(yy301, yy3101))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs0132(Succ(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_span2Zs116(yy760, yy7610, yy7611, True) → new_span2Zs117(yy760, yy7610, yy7611, new_span2Ys23(yy760, yy7611), new_span2Zs19(yy760, yy7611))
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))), yy311)) → new_groupByZs06(Succ(Zero), Neg(Succ(Zero)), Succ(Zero), Neg(Succ(Zero)), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(yy3010000))))), :(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(yy30100))), :(:%(Neg(Zero), Neg(yy31010)), yy311)) → :(:%(Neg(Zero), Neg(yy31010)), yy311)
new_span2Zs129(yy3110, yy3111, yy162, yy161) → yy161
new_span2Ys124(yy3110, yy3111, False) → []
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0140(yy766, yy767) → new_span2Zs23(yy766, yy767)
new_groupByZs0105(yy1194, yy1195, yy1196) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(yy1195))), yy1196)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_span2Zs42(yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Zero))), :(:%(Pos(Zero), Pos(Succ(Zero))), yy311)) → new_span2Zs40(yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs072(yy301000000000, yy3101000000000, yy311, new_primEqNat0(yy301000000000, yy3101000000000))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), yy311)) → new_groupByZs06(Succ(Succ(Zero)), Pos(Succ(Zero)), Succ(Succ(Zero)), Pos(Succ(Zero)), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), yy301), :(:%(Pos(Succ(Succ(yy3100000))), yy3101), yy311)) → :(:%(Pos(Succ(Succ(yy3100000))), yy3101), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs014(Succ(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Succ(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0125(yy1210, yy1211, yy1212) → :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy1211))))))))), yy1212)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Zero)), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(yy310100))), yy311)
new_groupByZs0100(Neg(Succ(Succ(yy73000))), yy74, Neg(Succ(Succ(yy75000))), yy76) → new_groupByZs0171(yy73000, yy74, yy75000, yy76, new_primEqNat0(yy73000, yy75000))
new_span2Zs41(:(yy3110, yy3111)) → new_span2Zs122(yy3110, yy3111, new_esEs(:%(Neg(Zero), Pos(Zero)), yy3110))
new_span2Zs44(yy726, []) → []
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(yy300000000)))))), yy301), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), yy3101), yy311)) → new_groupByZs099(yy300000000, yy301, Succ(Succ(Succ(Zero))), yy3101, yy311)
new_groupByZs011(Neg(Succ(yy6300)), yy64, Neg(Zero), yy66) → new_groupByZs013(Zero, Neg(Succ(yy6300)), yy64, Neg(Zero), yy66)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(yy3010000))))), :(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), yy311)
new_groupByZs020(yy301000000000, yy3101000000000, yy311, yy1300, yy1299) → yy1299
new_groupByZs0134(yy489, yy490) → new_span2Zs48(yy490)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(yy301000)))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))), yy311)
new_groupByZs049(yy30100000, yy310100000, yy311, True) → new_groupByZs014(Succ(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(yy30100000))))), Succ(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(yy310100000))))), yy311)
new_span2Zs32([]) → []
new_groupByZs014(yy384, yy385, yy386, yy387, yy388) → new_span2Zs46(yy384, yy385, yy388)
new_groupByZs082(yy1056, yy1057) → new_groupByZs083(yy1056, Zero, yy1057)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(yy3010000))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), yy311)
new_span2Zs31([]) → []
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(yy3101000)))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → new_groupByZs044(yy30100000, yy310100000, yy311, new_primEqNat0(yy30100000, yy310100000))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Zero)), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(yy310100))), yy311)
new_groupByZs07(yy1302, yy1303, yy1304) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(yy1303)))))), yy1304)
new_span2Zs124(yy384, yy385, yy3880, yy3881, yy419) → yy419
new_groupByZs0163(yy301000000000, yy3101000000000, yy311, yy1308, yy1307) → yy1307
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(yy301000)))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), yy311)
new_span2Ys117(yy606, yy6070, yy6071, yy1333, yy1332) → :(yy6070, yy1333)
new_groupByZs0135(yy301000000000, yy3101000000000, yy311, False) → new_groupByZs0137(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy3101000000000, yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(yy3000000)))), yy301), :(:%(Neg(Succ(Succ(Zero))), yy3101), yy311)) → :(:%(Neg(Succ(Succ(Zero))), yy3101), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Zero))), :(:%(Pos(Zero), Neg(Succ(Succ(yy3101000)))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0169(yy73000, yy74, yy75000, yy76, False) → new_groupByZs099(Zero, Pos(Succ(Succ(yy73000))), yy74, Pos(Succ(Succ(yy75000))), yy76)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_span2Zs37(yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Zero))), :(:%(Neg(Zero), Pos(Succ(Succ(yy3101000)))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0120(yy1091, yy1092) → new_groupByZs06(Zero, Pos(Succ(yy1091)), Zero, Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy1092)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(yy30100))), :(:%(Pos(Succ(Zero)), Pos(yy31010)), yy311)) → :(:%(Pos(Succ(Zero)), Pos(yy31010)), yy311)
new_span2Zs28(:(yy4540, yy4541)) → new_span2Zs111(Succ(Succ(Succ(Succ(Zero)))), yy4540, yy4541, new_esEs(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy4540))
new_groupByZs0130(yy1105, yy1106) → new_groupByZs0159(yy1105, yy1106, new_span2Ys23(yy1105, yy1106), new_span2Zs19(yy1105, yy1106))
new_groupByZs0111(yy1074, yy1075) → :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy1075)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy301), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy3101), yy311)) → new_groupByZs0100(yy301, Succ(Succ(Succ(Succ(Zero)))), yy3101, yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Zero)), :(:%(Neg(Zero), Neg(Succ(yy310100))), yy311)) → :(:%(Neg(Zero), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(yy30100))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(yy31010)), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(yy31010)), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → new_groupByZs061(yy30100000000, yy310100000000, yy311, new_primEqNat0(yy30100000000, yy310100000000))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_groupByZs06(Zero, Pos(Succ(Succ(Succ(Succ(Zero))))), Zero, Pos(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs052(yy301000000, yy3101000000, yy311, False) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Zero)), :(:%(Pos(Succ(Zero)), Neg(Zero)), yy311)) → new_groupByZs014(Zero, Neg(Zero), Zero, Neg(Zero), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → new_groupByZs049(yy30100000, yy310100000, yy311, new_primEqNat0(yy30100000, yy310100000))
new_groupByZs058(yy1021, yy1022) → :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy1022)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), yy311)
new_span2Zs42(:(yy3110, yy3111)) → new_span2Zs113(Succ(Succ(Succ(Zero))), yy3110, yy3111, new_esEs(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy3110))
new_groupByZs017(yy301, yy3100000000000, yy3101, yy311, False) → new_groupByZs018(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy301, yy3100000000000, yy3101, yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Zero)), :(:%(Neg(Zero), Pos(Succ(yy310100))), yy311)) → :(:%(Neg(Zero), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Zero)), :(:%(Neg(Zero), Pos(Zero)), yy311)) → new_span2Zs25(yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)
new_groupByZs0146(yy769, yy770) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy770)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), yy301), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(yy3100000000)))))), yy3101), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Succ(yy3100000000)))))), yy3101), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Zero)), :(:%(Pos(Zero), Pos(Zero)), yy311)) → new_span2Zs41(yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(yy30100))), :(:%(Pos(Succ(Zero)), Neg(yy31010)), yy311)) → :(:%(Pos(Succ(Zero)), Neg(yy31010)), yy311)
new_span2Ys25(yy658, :(yy6590, yy6591)) → new_span2Ys114(yy658, yy6590, yy6591, new_esEs(:%(Neg(Zero), Neg(Succ(yy658))), yy6590))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs0137(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy3101000000000, yy311)
new_groupByZs039(yy300000000000, yy301, yy3100000000000, yy3101, yy311, True) → new_groupByZs014(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy300000000000))))))), yy301, Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3100000000000))))))), yy3101, yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(yy31010000))))), yy311)
new_span2Zs22(:(yy3110, yy3111)) → new_span2Zs121(yy3110, yy3111, new_esEs(:%(Neg(Zero), Neg(Zero)), yy3110))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Zero)), :(:%(Pos(Succ(Succ(Zero))), Pos(Zero)), yy311)) → new_groupByZs014(Succ(Zero), Pos(Zero), Succ(Zero), Pos(Zero), yy311)
new_groupByZs049(yy30100000, yy310100000, yy311, False) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)
new_groupByZs0114(yy1081, yy1082) → :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy1082)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy301), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy3101), yy311)) → new_groupByZs094(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy301, yy3101, yy311, new_asAs2(yy301, yy3101))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy301), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310000000000)))))))), yy3101), yy311)) → new_groupByZs042(yy301, yy310000000000, yy3101, yy311, new_asAs1(yy301, yy3101))
new_groupByZs068(yy1035, yy1036) → :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy1036)
new_groupByZs0100(Neg(Zero), yy74, Neg(Zero), yy76) → new_groupByZs06(Succ(Succ(Succ(Succ(Zero)))), Neg(Zero), yy74, Neg(Zero), yy76)
new_groupByZs011(Pos(Zero), yy64, Pos(Succ(yy6500)), yy66) → new_groupByZs013(Zero, Pos(Zero), yy64, Pos(Succ(yy6500)), yy66)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(yy30100))), :(:%(Neg(Succ(Zero)), Neg(Zero)), yy311)) → :(:%(Neg(Succ(Zero)), Neg(Zero)), yy311)
new_span2Zs24(yy720, []) → []
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Zero)), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), yy311)) → new_groupByZs06(Succ(Succ(Zero)), Neg(Zero), Succ(Succ(Zero)), Pos(Zero), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs044(yy30100000, yy310100000, yy311, False) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_span2Zs20(yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(yy3010000))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))), yy311)) → :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(yy310100))), yy311)
new_groupByZs094(yy396, yy397, yy398, yy399, True) → new_groupByZs06(yy396, yy397, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy398, yy399)
new_groupByZs0156(yy301000000000, yy3101000000000, yy311, yy1312, yy1311) → yy1311
new_groupByZs0(:%(Neg(Zero), Pos(Zero)), :(:%(Pos(Zero), Neg(Zero)), yy311)) → new_span2Zs41(yy311)
new_span2Ys27([]) → []
new_span2Zs112(yy766, yy7670, yy7671, yy1352, yy1351) → yy1351
new_groupByZs0166(yy937, yy938, yy939) → new_groupByZs099(Zero, Pos(Succ(Zero)), yy937, Pos(Succ(yy938)), yy939)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), yy311)) → new_groupByZs014(Succ(Succ(Succ(Zero))), Pos(Zero), Succ(Succ(Succ(Zero))), Pos(Zero), yy311)
new_span2Zs118(yy726, yy7270, yy7271, True) → new_span2Zs128(yy726, yy7270, yy7271, new_span2Ys26(yy726, yy7271), new_span2Zs44(yy726, yy7271))
new_groupByZs0100(Pos(Succ(Succ(yy73000))), yy74, Pos(Succ(Zero)), yy76) → new_groupByZs099(Zero, Pos(Succ(Succ(yy73000))), yy74, Pos(Succ(Zero)), yy76)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))), yy311)) → new_groupByZs014(Succ(Zero), Neg(Succ(Zero)), Succ(Zero), Neg(Succ(Zero)), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs00(Succ(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs088(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311)
new_groupByZs00(yy772, yy773) → new_span2Zs19(yy772, yy773)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Zero)), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Zero))), :(:%(Neg(Succ(Zero)), Neg(Succ(Zero))), yy311)) → new_groupByZs06(Zero, Neg(Succ(Zero)), Zero, Neg(Succ(Zero)), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(yy30100))), :(:%(Neg(Zero), Neg(Zero)), yy311)) → :(:%(Neg(Zero), Neg(Zero)), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), yy311)) → new_span2Zs29(yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs038(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(yy30100))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(yy31010)), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(yy31010)), yy311)
new_span2Zs19(yy760, []) → []
new_span2Zs126(yy3110, yy3111, False) → :(yy3110, yy3111)
new_groupByZs0(:%(Neg(Zero), Pos(Zero)), :(:%(Pos(Zero), Pos(Succ(yy310100))), yy311)) → :(:%(Pos(Zero), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(yy300000))), yy301), :(:%(Neg(Succ(Zero)), yy3101), yy311)) → :(:%(Neg(Succ(Zero)), yy3101), yy311)
new_groupByZs041(yy172, yy173, yy174, yy175, False) → :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy174), yy175)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Zero))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(yy3101000)))), yy311)) → :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs012(yy63000, yy64, yy65000, yy66, False) → new_groupByZs013(Zero, Pos(Succ(Succ(yy63000))), yy64, Pos(Succ(Succ(yy65000))), yy66)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs0141(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))), yy311)) → new_groupByZs014(Succ(Succ(Zero)), Neg(Succ(Zero)), Succ(Succ(Zero)), Neg(Succ(Zero)), yy311)
new_groupByZs011(Neg(Succ(Succ(yy63000))), yy64, Neg(Succ(Succ(yy65000))), yy66) → new_groupByZs015(yy63000, yy64, yy65000, yy66, new_primEqNat0(yy63000, yy65000))
new_groupByZs057(yy3010000000, yy31010000000, yy311, False) → new_groupByZs059(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy31010000000, yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(yy30100))), :(:%(Neg(Zero), Pos(Zero)), yy311)) → :(:%(Neg(Zero), Pos(Zero)), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs082(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(yy3010000))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(yy300000000)))))), yy301), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), yy3101), yy311)) → new_groupByZs013(yy300000000, yy301, Succ(Succ(Succ(Zero))), yy3101, yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs08(yy301000000000, yy3101000000000, yy311, new_primEqNat0(yy301000000000, yy3101000000000))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(yy301000)))), :(:%(Pos(Zero), Neg(Succ(Zero))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Zero))), yy311)
new_groupByZs038(yy1059, yy1060) → new_groupByZs026(yy1059, yy1060, new_span2Ys21(yy1059, yy1060), new_span2Zs24(yy1059, yy1060))
new_span2Zs34(:(yy3110, yy3111)) → new_span2Zs118(Succ(Succ(Succ(Zero))), yy3110, yy3111, new_esEs(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy3110))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy300000000000))))))))), yy301), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy3101), yy311)) → new_groupByZs040(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy300000000000))))))), yy301, yy3101, yy311, new_asAs1(yy301, yy3101))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), :(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), yy311)) → new_span2Zs39(yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(yy30100))), :(:%(Neg(Succ(Succ(Zero))), Pos(yy31010)), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Pos(yy31010)), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs014(Succ(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Succ(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs096(yy189, yy190, yy191, yy192, True) → new_groupByZs06(yy189, yy190, Succ(Succ(Succ(Succ(Succ(Zero))))), yy191, yy192)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))), yy311)) → new_groupByZs014(Succ(Succ(Zero)), Neg(Succ(Succ(Zero))), Succ(Succ(Zero)), Neg(Succ(Succ(Zero))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Zero)), :(:%(Neg(Succ(Zero)), Pos(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Zero)), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Zero)), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), yy311)) → new_groupByZs014(Succ(Succ(Zero)), Neg(Zero), Succ(Succ(Zero)), Pos(Zero), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(yy301000)))), :(:%(Pos(Zero), Neg(Succ(Zero))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Zero))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), yy311)) → new_span2Zs29(yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Zero)), :(:%(Pos(Succ(Zero)), Neg(Zero)), yy311)) → new_groupByZs014(Zero, Pos(Zero), Zero, Neg(Zero), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Zero)), :(:%(Neg(Zero), Pos(Zero)), yy311)) → new_span2Zs33(yy311)
new_groupByZs083(yy933, yy934, yy935) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy934))))))))), yy935)
new_groupByZs0(:%(Neg(Zero), Neg(Zero)), :(:%(Pos(Zero), Pos(Zero)), yy311)) → new_span2Zs22(yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs0146(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy311)
new_groupByZs0158(yy301000000000, yy3101000000000, yy311, yy1306, yy1305) → yy1305
new_groupByZs041(yy172, yy173, yy174, yy175, True) → new_groupByZs014(yy172, yy173, Succ(Succ(Succ(Succ(Succ(Zero))))), yy174, yy175)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(yy30000000))))), yy301), :(:%(Pos(Succ(Succ(Succ(Zero)))), yy3101), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), yy3101), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(yy301000)))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), yy311)
new_span2Zs127(yy384, yy385, yy3880, yy3881, False) → :(yy3880, yy3881)
new_groupByZs011(Neg(Zero), yy64, Pos(Zero), yy66) → new_groupByZs014(Succ(Succ(Succ(Succ(Zero)))), Neg(Zero), yy64, Pos(Zero), yy66)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(yy3000000)))), yy301), :(:%(Pos(Succ(Succ(Zero))), yy3101), yy311)) → :(:%(Pos(Succ(Succ(Zero))), yy3101), yy311)
new_groupByZs025(yy1049, yy1050) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy1050)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → new_groupByZs052(yy301000000, yy3101000000, yy311, new_primEqNat0(yy301000000, yy3101000000))
new_groupByZs0160(yy476, yy477, yy478, yy479, yy480) → :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy478)))))))), yy479), yy480)
new_groupByZs0119(yy1206, yy1207, yy1208) → :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy1207))))))))), yy1208)
new_groupByZs0(:%(Pos(Zero), Pos(Zero)), :(:%(Pos(Zero), Neg(Succ(yy310100))), yy311)) → :(:%(Pos(Zero), Neg(Succ(yy310100))), yy311)
new_span2Ys118(yy652, yy6530, yy6531, False) → []
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs014(Zero, Neg(Succ(Succ(Succ(Zero)))), Zero, Neg(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), yy311)) → new_groupByZs06(Succ(Succ(Succ(Zero))), Neg(Zero), Succ(Succ(Succ(Zero))), Pos(Zero), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_span2Ys26(yy612, :(yy6130, yy6131)) → new_span2Ys121(yy612, yy6130, yy6131, new_esEs(:%(Pos(Zero), Neg(Succ(yy612))), yy6130))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)
new_groupByZs0106(yy301000000, yy3101000000, yy311, True) → new_groupByZs06(Succ(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(yy301000000)))))), Succ(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000)))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs081(Succ(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs0130(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))), yy311)) → new_groupByZs014(Zero, Neg(Succ(Succ(Zero))), Zero, Neg(Succ(Succ(Zero))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), yy311)) → new_groupByZs014(Succ(Succ(Succ(Zero))), Neg(Zero), Succ(Succ(Succ(Zero))), Pos(Zero), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(yy31010000))))), yy311)) → new_groupByZs045(Succ(Succ(Succ(Zero))), yy31010000, yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Zero)), :(:%(Neg(Zero), Pos(Succ(yy310100))), yy311)) → :(:%(Neg(Zero), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), yy311)
new_span2Ys122(yy3110, yy3111, False) → []
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs05(Succ(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0100(Neg(Succ(Succ(yy73000))), yy74, Neg(Succ(Zero)), yy76) → new_groupByZs099(Zero, Neg(Succ(Succ(yy73000))), yy74, Neg(Succ(Zero)), yy76)
new_groupByZs040(yy372, yy373, yy374, yy375, True) → new_groupByZs014(yy372, yy373, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy374, yy375)
new_groupByZs071(yy714, yy715) → new_groupByZs014(Zero, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Zero, Neg(Succ(yy714)), yy715)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(yy310100))), yy311)
new_span2Zs45([]) → []
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs043(yy58, yy59, yy60, yy61) → :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy60), yy61)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(yy30100))), :(:%(Pos(Succ(Succ(Zero))), Neg(yy31010)), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Neg(yy31010)), yy311)
new_span2Ys21(yy606, []) → []
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), yy311)) → new_span2Zs21(yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Zero)), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Zero)), yy311)) → new_groupByZs014(Succ(Succ(Zero)), Neg(Zero), Succ(Succ(Zero)), Neg(Zero), yy311)
new_groupByZs0(:%(Pos(Succ(yy30000)), yy301), :(:%(Pos(Zero), yy3101), yy311)) → :(:%(Pos(Zero), yy3101), yy311)
new_groupByZs0123(yy30100000000, yy310100000000, yy311, False) → new_groupByZs0125(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy310100000000, yy311)
new_groupByZs0128(yy301000000000, yy3101000000000, yy311, True) → new_groupByZs0158(yy301000000000, yy3101000000000, yy311, new_span2Ys23(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311), new_span2Zs19(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(yy30100))), :(:%(Neg(Zero), Pos(yy31010)), yy311)) → :(:%(Neg(Zero), Pos(yy31010)), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Zero)), :(:%(Pos(Zero), Pos(Zero)), yy311)) → new_span2Zs33(yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Zero)), :(:%(Neg(Succ(Zero)), Neg(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Zero)), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs0151(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs015(yy63000, yy64, yy65000, yy66, False) → new_groupByZs013(Zero, Neg(Succ(Succ(yy63000))), yy64, Neg(Succ(Succ(yy65000))), yy66)
new_groupByZs09(yy1186, yy1187, yy1188) → new_groupByZs083(yy1186, Succ(yy1187), yy1188)
new_groupByZs0(:%(Neg(Succ(Zero)), yy301), :(:%(Neg(Succ(Succ(yy3100000))), yy3101), yy311)) → :(:%(Neg(Succ(Succ(yy3100000))), yy3101), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → new_groupByZs0104(yy30100000, yy310100000, yy311, new_primEqNat0(yy30100000, yy310100000))
new_groupByZs0100(Pos(Zero), yy74, Neg(Succ(yy7500)), yy76) → new_groupByZs099(Zero, Pos(Zero), yy74, Neg(Succ(yy7500)), yy76)
new_span2Zs111(yy720, yy7210, yy7211, True) → new_span2Zs123(yy720, yy7210, yy7211, new_span2Ys21(yy720, yy7211), new_span2Zs24(yy720, yy7211))
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs069(Succ(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(yy3010000))))), :(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), yy311)) → new_groupByZs014(Succ(Succ(Succ(Zero))), Neg(Succ(Zero)), Succ(Succ(Succ(Zero))), Neg(Succ(Zero)), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs0142(yy301000000000, yy3101000000000, yy311, new_primEqNat0(yy301000000000, yy3101000000000))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs024(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(yy3010000))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))), yy311)) → new_groupByZs0109(Succ(Succ(yy3010000)), Succ(Zero), yy311)
new_groupByZs028(yy1230, yy1231, yy1232) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy1231)))))))))), yy1232)
new_groupByZs0157(yy1052, yy1053, yy1262, yy1261) → yy1261
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(yy30100))), :(:%(Neg(Succ(Succ(Zero))), Neg(Zero)), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Neg(Zero)), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs090(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs054(yy1014, yy1015) → :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy1015)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs0150(yy301000000000, yy3101000000000, yy311, new_primEqNat0(yy301000000000, yy3101000000000))
new_groupByZs011(Pos(Succ(Zero)), yy64, Pos(Succ(Succ(yy65000))), yy66) → new_groupByZs013(Zero, Pos(Succ(Zero)), yy64, Pos(Succ(Succ(yy65000))), yy66)
new_groupByZs011(Neg(Zero), yy64, Neg(Succ(yy6500)), yy66) → new_groupByZs013(Zero, Neg(Zero), yy64, Neg(Succ(yy6500)), yy66)
new_groupByZs034(yy720, yy721) → new_span2Zs24(yy720, yy721)
new_groupByZs0142(yy301000000000, yy3101000000000, yy311, False) → new_groupByZs0144(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy3101000000000, yy311)
new_span2Ys111(yy3110, yy3111, yy140, yy139) → :(yy3110, yy140)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), yy301), :(:%(Pos(Succ(Succ(Succ(Succ(yy310000000))))), yy3101), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(yy310000000))))), yy3101), yy311)
new_span2Zs39([]) → []
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs086(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), :(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), yy311)) → new_span2Zs35(yy311)
new_groupByZs035(yy218, yy219, yy220) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), yy220)
new_span2Ys121(yy612, yy6130, yy6131, True) → new_span2Ys115(yy612, yy6130, yy6131, new_span2Ys26(yy612, yy6131), new_span2Zs44(yy612, yy6131))
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs011(Neg(Succ(yy6300)), yy64, Pos(yy650), yy66) → new_groupByZs013(Zero, Neg(Succ(yy6300)), yy64, Pos(yy650), yy66)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), yy311)) → new_groupByZs014(Succ(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs06(Succ(Zero), Neg(Succ(Succ(Succ(Zero)))), Succ(Zero), Neg(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs0143(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Zero)), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(yy310100))), yy311)
new_groupByZs094(yy396, yy397, yy398, yy399, False) → new_groupByZs0160(yy396, yy397, Zero, yy398, yy399)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_groupByZs014(Succ(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Succ(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0170(yy301000000000, yy3101000000000, yy311, yy1294, yy1293) → yy1293
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Zero)), :(:%(Neg(Succ(Succ(Zero))), Pos(Zero)), yy311)) → new_groupByZs06(Succ(Zero), Pos(Zero), Succ(Zero), Pos(Zero), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(yy3101000)))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(yy30100))), :(:%(Neg(Succ(Zero)), Neg(yy31010)), yy311)) → :(:%(Neg(Succ(Zero)), Neg(yy31010)), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), yy311)) → new_groupByZs014(Succ(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), yy311)
new_span2Zs28([]) → []
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(yy301000)))), :(:%(Pos(Succ(Zero)), Neg(Succ(Zero))), yy311)) → :(:%(Pos(Succ(Zero)), Neg(Succ(Zero))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → new_groupByZs0125(Succ(Succ(Succ(Succ(Succ(Zero))))), yy310100000000, yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)
new_span2Ys24(:(yy3110, yy3111)) → new_span2Ys124(yy3110, yy3111, new_esEs(:%(Pos(Zero), Neg(Zero)), yy3110))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Zero)), :(:%(Neg(Succ(Succ(Zero))), Pos(Zero)), yy311)) → new_groupByZs06(Succ(Zero), Neg(Zero), Succ(Zero), Pos(Zero), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), yy311)) → new_groupByZs014(Succ(Succ(Zero)), Pos(Succ(Succ(Zero))), Succ(Succ(Zero)), Pos(Succ(Succ(Zero))), yy311)
new_span2Ys118(yy652, yy6530, yy6531, True) → new_span2Ys119(yy652, yy6530, yy6531, new_span2Ys23(yy652, yy6531), new_span2Zs19(yy652, yy6531))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs0114(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_groupByZs0100(Pos(Succ(Zero)), yy74, Pos(Succ(Zero)), yy76) → new_groupByZs06(Succ(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), yy74, Pos(Succ(Zero)), yy76)
new_groupByZs0117(yy30100000000, yy310100000000, yy311, True) → new_groupByZs06(Zero, Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))))), Zero, Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000)))))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(yy3101000)))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(yy3101000)))), yy311)
new_groupByZs021(yy1119, yy1120, yy1278, yy1277) → yy1277
new_groupByZs0153(yy778, yy779) → new_span2Zs23(yy778, yy779)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs062(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(yy3010000))))), :(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), yy311)
new_groupByZs0100(Pos(Zero), yy74, Pos(Succ(yy7500)), yy76) → new_groupByZs099(Zero, Pos(Zero), yy74, Pos(Succ(yy7500)), yy76)
new_span2Zs35([]) → []
new_groupByZs011(Pos(Succ(yy6300)), yy64, Pos(Zero), yy66) → new_groupByZs013(Zero, Pos(Succ(yy6300)), yy64, Pos(Zero), yy66)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Zero)), :(:%(Neg(Succ(Zero)), Neg(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Zero)), Neg(Succ(yy310100))), yy311)
new_groupByZs023(yy1102, yy1103) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy1103)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(yy3010000))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))), yy311)) → :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))), yy311)) → new_groupByZs014(Zero, Pos(Succ(Succ(Zero))), Zero, Pos(Succ(Succ(Zero))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(yy301000)))), :(:%(Pos(Zero), Pos(Succ(Zero))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Zero))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs068(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs079(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(yy310100))), yy311)) → new_groupByZs048(Succ(Succ(Succ(Zero))), yy310100, yy311)
new_groupByZs0100(Pos(Succ(Succ(yy73000))), yy74, Pos(Succ(Succ(yy75000))), yy76) → new_groupByZs0169(yy73000, yy74, yy75000, yy76, new_primEqNat0(yy73000, yy75000))
new_groupByZs0(:%(Pos(Zero), Neg(Zero)), :(:%(Neg(Zero), Neg(Succ(yy310100))), yy311)) → :(:%(Neg(Zero), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(yy30100))), :(:%(Pos(Succ(Succ(Zero))), Pos(yy31010)), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Pos(yy31010)), yy311)
new_span2Zs30([]) → []
new_groupByZs047(yy213, yy214, yy215) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), yy215)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → new_groupByZs0122(Succ(Succ(Succ(Succ(yy3101000000)))), yy311)
new_span2Zs128(yy726, yy7270, yy7271, yy1346, yy1345) → yy1345
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy300000000000))))))))), yy301), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3100000000000))))))))), yy3101), yy311)) → new_groupByZs093(yy300000000000, yy301, yy3100000000000, yy3101, yy311, new_asAs0(yy300000000000, yy3100000000000, yy301, yy3101))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy3000000000))))))), yy301), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy3101), yy311)) → new_groupByZs043(Succ(Succ(Succ(Succ(Succ(yy3000000000))))), yy301, yy3101, yy311)
new_span2Zs114(yy3110, yy3111, True) → new_span2Zs120(yy3110, yy3111, new_span2Ys24(yy3111), new_span2Zs25(yy3111))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → new_groupByZs0117(yy30100000000, yy310100000000, yy311, new_primEqNat0(yy30100000000, yy310100000000))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs0128(yy301000000000, yy3101000000000, yy311, new_primEqNat0(yy301000000000, yy3101000000000))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs0127(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs017(yy301, yy3100000000000, yy3101, yy311, True) → new_groupByZs014(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy301, Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3100000000000))))))), yy3101, yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs0134(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs01(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_span2Zs47(yy408, yy409, []) → []
new_groupByZs011(Neg(Succ(Zero)), yy64, Neg(Succ(Succ(yy65000))), yy66) → new_groupByZs013(Zero, Neg(Succ(Zero)), yy64, Neg(Succ(Succ(yy65000))), yy66)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(yy30100))), :(:%(Pos(Succ(Succ(Zero))), Pos(Zero)), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Pos(Zero)), yy311)
new_groupByZs06(yy408, yy409, yy410, yy411, yy412) → new_span2Zs47(yy408, yy409, yy412)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(yy3010000))))), :(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs014(Succ(Zero), Pos(Succ(Succ(Succ(Zero)))), Succ(Zero), Pos(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Zero)), :(:%(Pos(Zero), Neg(Succ(yy310100))), yy311)) → :(:%(Pos(Zero), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs016(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy3101000000000, yy311)
new_span2Zs26([]) → []
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs075(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_groupByZs011(Neg(Succ(Succ(yy63000))), yy64, Neg(Succ(Zero)), yy66) → new_groupByZs013(Zero, Neg(Succ(Succ(yy63000))), yy64, Neg(Succ(Zero)), yy66)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs0124(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy301), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy3101), yy311)) → new_groupByZs041(Succ(Succ(Succ(Succ(Succ(Zero))))), yy301, yy3101, yy311, new_asAs2(yy301, yy3101))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs034(Succ(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs029(yy468, yy469) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy469)
new_groupByZs0129(yy1214, yy1215, yy1216) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy1215)))))))))), yy1216)
new_groupByZs0(:%(Neg(Zero), Pos(Zero)), :(:%(Neg(Zero), Pos(Succ(yy310100))), yy311)) → :(:%(Neg(Zero), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_groupByZs014(Succ(Zero), Pos(Succ(Succ(Succ(Succ(Zero))))), Succ(Zero), Pos(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs0145(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(yy3010000))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), yy311)
new_span2Ys20([]) → []
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → new_groupByZs0109(Succ(Succ(Zero)), Succ(Succ(Succ(yy310100000))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0168(yy301000000000, yy3101000000000, yy311, yy1296, yy1295) → yy1295
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), yy311)) → new_groupByZs014(Succ(Succ(Succ(Zero))), Neg(Zero), Succ(Succ(Succ(Zero))), Neg(Zero), yy311)
new_groupByZs016(yy1174, yy1175, yy1176) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy1175)))))))))), yy1176)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_groupByZs06(Zero, Neg(Succ(Succ(Succ(Succ(Zero))))), Zero, Neg(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Zero)), :(:%(Pos(Zero), Pos(Succ(yy310100))), yy311)) → :(:%(Pos(Zero), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs0111(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_span2Ys110(yy3110, yy3111, True) → new_span2Ys111(yy3110, yy3111, new_span2Ys20(yy3111), new_span2Zs22(yy3111))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(yy301000)))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))), yy311)) → new_groupByZs0109(Succ(yy301000), Zero, yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → new_groupByZs0113(yy3010000000, yy31010000000, yy311, new_primEqNat0(yy3010000000, yy31010000000))
new_groupByZs0150(yy301000000000, yy3101000000000, yy311, True) → new_groupByZs0156(yy301000000000, yy3101000000000, yy311, new_span2Ys25(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311), new_span2Zs23(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311))
new_groupByZs027(yy440, yy441, yy442, yy443, yy444) → :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy442)))))))), yy443), yy444)
new_span2Zs41([]) → []
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs0144(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy3101000000000, yy311)
new_groupByZs013(yy84, yy85, yy86, yy87, yy88) → :(:%(Pos(Succ(yy86)), yy87), yy88)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy300000000000))))))))), yy301), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3100000000000))))))))), yy3101), yy311)) → new_groupByZs039(yy300000000000, yy301, yy3100000000000, yy3101, yy311, new_asAs0(yy300000000000, yy3100000000000, yy301, yy3101))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → new_groupByZs0115(Succ(Succ(Succ(Succ(Zero)))), yy31010000000, yy311)
new_groupByZs0122(yy572, yy573) → :(:%(Neg(Succ(Zero)), Pos(Succ(yy572))), yy573)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(yy30100))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(yy31010)), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(yy31010)), yy311)
new_groupByZs0162(yy1112, yy1113, yy1275, yy1274) → yy1274
new_groupByZs0144(yy1226, yy1227, yy1228) → new_groupByZs0147(yy1226, Succ(yy1227), yy1228)
new_groupByZs0136(yy1109, yy1110) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy1110)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(yy30100))), :(:%(Pos(Zero), Neg(yy31010)), yy311)) → :(:%(Pos(Zero), Neg(yy31010)), yy311)
new_groupByZs0100(Pos(Succ(yy7300)), yy74, Neg(yy750), yy76) → new_groupByZs099(Zero, Pos(Succ(yy7300)), yy74, Neg(yy750), yy76)
new_groupByZs0121(yy748, yy749) → new_groupByZs06(Zero, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Zero, Pos(Succ(yy748)), yy749)
new_span2Zs38(:(yy3110, yy3111)) → new_span2Zs116(Succ(Succ(Zero)), yy3110, yy3111, new_esEs(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), yy3110))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs0149(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs05(yy1098, yy1099) → new_groupByZs06(Zero, Neg(Succ(yy1098)), Zero, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy1099)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), yy311)) → new_span2Zs38(yy311)
new_groupByZs011(Pos(Zero), yy64, Pos(Zero), yy66) → new_groupByZs014(Succ(Succ(Succ(Succ(Zero)))), Pos(Zero), yy64, Pos(Zero), yy66)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs064(Succ(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs095(yy301, yy3100000000000, yy3101, yy311, False) → new_groupByZs0161(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy301, yy3100000000000, yy3101, yy311)
new_span2Zs37(:(yy3110, yy3111)) → new_span2Zs116(Succ(Succ(Succ(Zero))), yy3110, yy3111, new_esEs(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy3110))
new_groupByZs0106(yy301000000, yy3101000000, yy311, False) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(yy30100))), :(:%(Pos(Zero), Neg(Zero)), yy311)) → :(:%(Pos(Zero), Neg(Zero)), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0100(Neg(Zero), yy74, Pos(Zero), yy76) → new_groupByZs06(Succ(Succ(Succ(Succ(Zero)))), Neg(Zero), yy74, Pos(Zero), yy76)
new_span2Ys116(yy606, yy6070, yy6071, True) → new_span2Ys117(yy606, yy6070, yy6071, new_span2Ys21(yy606, yy6071), new_span2Zs24(yy606, yy6071))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Zero))), :(:%(Pos(Zero), Pos(Succ(Zero))), yy311)) → new_span2Zs32(yy311)
new_groupByZs0165(yy1126, yy1127, yy1280, yy1279) → yy1279
new_span2Ys22(:(yy3110, yy3111)) → new_span2Ys112(yy3110, yy3111, new_esEs(:%(Pos(Zero), Pos(Zero)), yy3110))
new_span2Zs122(yy3110, yy3111, True) → new_span2Zs110(yy3110, yy3111, new_span2Ys27(yy3111), new_span2Zs41(yy3111))
new_groupByZs0127(yy754, yy755) → new_groupByZs06(Zero, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Zero, Neg(Succ(yy754)), yy755)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), yy301), :(:%(Neg(Succ(Succ(Succ(yy31000000)))), yy3101), yy311)) → :(:%(Neg(Succ(Succ(Succ(yy31000000)))), yy3101), yy311)
new_groupByZs0141(yy495, yy496) → new_span2Zs45(yy496)
new_span2Ys112(yy3110, yy3111, True) → new_span2Ys120(yy3110, yy3111, new_span2Ys22(yy3111), new_span2Zs33(yy3111))
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Zero)), :(:%(Pos(Succ(Zero)), Pos(Zero)), yy311)) → new_groupByZs014(Zero, Pos(Zero), Zero, Pos(Zero), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs011(Pos(Succ(Zero)), yy64, Pos(Succ(Zero)), yy66) → new_groupByZs014(Succ(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), yy64, Pos(Succ(Zero)), yy66)
new_span2Zs122(yy3110, yy3111, False) → :(yy3110, yy3111)
new_groupByZs055(yy1158, yy1159, yy1160) → :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy1159)))))))), yy1160)
new_groupByZs0103(yy415, yy416, yy417) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(yy416))), yy417)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs065(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Zero)), :(:%(Neg(Zero), Neg(Zero)), yy311)) → new_span2Zs33(yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_span2Zs127(yy384, yy385, yy3880, yy3881, True) → new_span2Zs124(yy384, yy385, yy3880, yy3881, new_span2Zs46(yy384, yy385, yy3881))
new_groupByZs0132(yy760, yy761) → new_span2Zs19(yy760, yy761)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_groupByZs014(Zero, Neg(Succ(Succ(Succ(Succ(Zero))))), Zero, Neg(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs060(yy1024, yy1025) → new_groupByZs014(Succ(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Succ(Zero), Neg(Succ(yy1024)), yy1025)
new_span2Zs111(yy720, yy7210, yy7211, False) → :(yy7210, yy7211)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(yy301000)))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), :(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), yy311)) → new_span2Zs43(yy311)
new_groupByZs0148(yy498, yy499) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy499)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs098(yy68, yy69, yy70, yy71) → :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy70), yy71)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(yy3101000)))), yy311)) → new_groupByZs02(Succ(Succ(Succ(Zero))), yy3101000, yy311)
new_groupByZs092(yy471, yy472) → new_span2Zs27(yy472)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs0148(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs0118(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy311)
new_span2Zs44(yy726, :(yy7270, yy7271)) → new_span2Zs118(yy726, yy7270, yy7271, new_esEs(:%(Pos(Zero), Neg(Succ(yy726))), yy7270))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Zero)), :(:%(Neg(Succ(Zero)), Neg(Zero)), yy311)) → new_groupByZs06(Zero, Pos(Zero), Zero, Neg(Zero), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Zero))), :(:%(Pos(Zero), Neg(Succ(Zero))), yy311)) → new_span2Zs36(yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs06(Succ(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Succ(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(yy301000)))), :(:%(Neg(Zero), Pos(Succ(Zero))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Zero))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs0135(yy301000000000, yy3101000000000, yy311, new_primEqNat0(yy301000000000, yy3101000000000))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Zero)), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Zero)), :(:%(Pos(Zero), Neg(Zero)), yy311)) → new_span2Zs22(yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs0126(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → new_groupByZs0101(yy30100000, yy310100000, yy311, new_primEqNat0(yy30100000, yy310100000))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), yy311)) → new_groupByZs06(Succ(Zero), Neg(Succ(Succ(Zero))), Succ(Zero), Neg(Succ(Succ(Zero))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Zero))), :(:%(Neg(Zero), Neg(Succ(Zero))), yy311)) → new_span2Zs36(yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs091(Succ(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_span2Zs123(yy720, yy7210, yy7211, yy1344, yy1343) → yy1343
new_span2Ys20(:(yy3110, yy3111)) → new_span2Ys110(yy3110, yy3111, new_esEs(:%(Neg(Zero), Neg(Zero)), yy3110))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Zero))), :(:%(Neg(Succ(Zero)), Pos(Succ(Zero))), yy311)) → new_groupByZs06(Zero, Pos(Succ(Zero)), Zero, Pos(Succ(Zero)), yy311)
new_groupByZs0108(yy301000000, yy3101000000, yy311, True) → new_groupByZs06(Succ(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(yy301000000)))))), Succ(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000)))))), yy311)
new_groupByZs0135(yy301000000000, yy3101000000000, yy311, True) → new_groupByZs0163(yy301000000000, yy3101000000000, yy311, new_span2Ys25(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311), new_span2Zs23(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311))
new_groupByZs076(yy453, yy454) → new_span2Zs28(yy454)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs0120(Succ(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs073(yy1042, yy1043) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy1043)
new_groupByZs012(yy63000, yy64, yy65000, yy66, True) → new_groupByZs014(Succ(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(yy63000))), yy64, Pos(Succ(Succ(yy65000))), yy66)
new_groupByZs042(yy301, yy310000000000, yy3101, yy311, True) → new_groupByZs014(Succ(Succ(Succ(Succ(Succ(Zero))))), yy301, Succ(Succ(Succ(Succ(Succ(Succ(yy310000000000)))))), yy3101, yy311)
new_groupByZs0151(yy1126, yy1127) → new_groupByZs0165(yy1126, yy1127, new_span2Ys25(yy1126, yy1127), new_span2Zs23(yy1126, yy1127))
new_groupByZs011(Pos(Succ(Succ(yy63000))), yy64, Pos(Succ(Succ(yy65000))), yy66) → new_groupByZs012(yy63000, yy64, yy65000, yy66, new_primEqNat0(yy63000, yy65000))
new_span2Zs34([]) → []
new_span2Ys123(yy3110, yy3111, yy117, yy116) → :(yy3110, yy117)
new_span2Ys114(yy658, yy6590, yy6591, True) → new_span2Ys19(yy658, yy6590, yy6591, new_span2Ys25(yy658, yy6591), new_span2Zs23(yy658, yy6591))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Zero))), :(:%(Pos(Zero), Neg(Succ(Succ(yy3101000)))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0100(Neg(Succ(Zero)), yy74, Neg(Succ(Zero)), yy76) → new_groupByZs06(Succ(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), yy74, Neg(Succ(Zero)), yy76)
new_groupByZs087(yy301000000000, yy3101000000000, yy311, True) → new_groupByZs020(yy301000000000, yy3101000000000, yy311, new_span2Ys26(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311), new_span2Zs44(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30000000000)))))))), yy301), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy3101), yy311)) → new_groupByZs041(Succ(Succ(Succ(Succ(Succ(Succ(yy30000000000)))))), yy301, yy3101, yy311, new_asAs1(yy301, yy3101))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), yy301), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(yy3100000000)))))), yy3101), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Succ(yy3100000000)))))), yy3101), yy311)
new_span2Zs26(:(yy3110, yy3111)) → new_span2Zs113(Zero, yy3110, yy3111, new_esEs(:%(Neg(Zero), Neg(Succ(Zero))), yy3110))
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Zero))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(yy3101000)))), yy311)) → :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(yy3101000)))), yy311)
new_span2Zs117(yy760, yy7610, yy7611, yy1350, yy1349) → yy1349
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30000000000)))))))), yy301), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy3101), yy311)) → new_groupByZs096(Succ(Succ(Succ(Succ(Succ(Succ(yy30000000000)))))), yy301, yy3101, yy311, new_asAs1(yy301, yy3101))
new_groupByZs061(yy30100000000, yy310100000000, yy311, False) → new_groupByZs063(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy310100000000, yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Zero))), :(:%(Neg(Zero), Pos(Succ(Zero))), yy311)) → new_span2Zs32(yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs0136(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(yy30100))), :(:%(Pos(Zero), Neg(yy31010)), yy311)) → :(:%(Pos(Zero), Neg(yy31010)), yy311)
new_groupByZs0154(yy504, yy505) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy505)
new_groupByZs0112(yy1077, yy1078) → new_groupByZs06(Succ(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Succ(Zero), Pos(Succ(yy1077)), yy1078)
new_span2Ys115(yy612, yy6130, yy6131, yy1335, yy1334) → :(yy6130, yy1335)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(yy30100))), :(:%(Pos(Zero), Pos(yy31010)), yy311)) → :(:%(Pos(Zero), Pos(yy31010)), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → new_groupByZs07(Succ(Succ(Zero)), yy310100000, yy311)
new_groupByZs0152(yy775, yy776) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy776)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(yy30100))), :(:%(Neg(Succ(Zero)), Pos(Zero)), yy311)) → :(:%(Neg(Succ(Zero)), Pos(Zero)), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), yy301), :(:%(Neg(Succ(Succ(Succ(Succ(yy310000000))))), yy3101), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(yy310000000))))), yy3101), yy311)
new_groupByZs0100(Neg(Zero), yy74, Pos(Succ(yy7500)), yy76) → new_groupByZs099(Zero, Neg(Zero), yy74, Pos(Succ(yy7500)), yy76)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), yy311)) → new_groupByZs06(Succ(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Zero))), :(:%(Pos(Zero), Pos(Succ(Succ(yy3101000)))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(yy30100))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), yy311)
new_span2Ys122(yy3110, yy3111, True) → new_span2Ys113(yy3110, yy3111, new_span2Ys27(yy3111), new_span2Zs41(yy3111))
new_groupByZs0109(yy1320, yy1321, yy1322) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(yy1321))), yy1322)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), :(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), yy311)) → new_span2Zs35(yy311)
new_span2Zs43(:(yy3110, yy3111)) → new_span2Zs113(Succ(Zero), yy3110, yy3111, new_esEs(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), yy3110))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Zero)), :(:%(Neg(Succ(Zero)), Pos(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Zero)), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Zero)), :(:%(Pos(Zero), Pos(Succ(yy310100))), yy311)) → :(:%(Pos(Zero), Pos(Succ(yy310100))), yy311)
new_span2Zs37([]) → []
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs070(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_span2Zs37(yy311)
new_groupByZs0131(yy757, yy758) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy758)
new_span2Zs126(yy3110, yy3111, True) → new_span2Zs119(yy3110, yy3111, new_span2Ys22(yy3111), new_span2Zs33(yy3111))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Zero))), :(:%(Neg(Zero), Neg(Succ(Zero))), yy311)) → new_span2Zs26(yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(yy30100))), :(:%(Neg(Succ(Zero)), Pos(yy31010)), yy311)) → :(:%(Neg(Succ(Zero)), Pos(yy31010)), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), yy311)) → new_span2Zs38(yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), yy311)) → new_groupByZs014(Succ(Zero), Neg(Succ(Succ(Zero))), Succ(Zero), Neg(Succ(Succ(Zero))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → new_groupByZs037(Succ(Succ(Succ(Succ(Zero)))), yy31010000000, yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Zero)), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Zero)), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(yy31010000))))), yy311)) → new_groupByZs0102(Succ(Succ(Succ(Zero))), yy31010000, yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(yy3010000))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(yy30100))), :(:%(Neg(Zero), Neg(yy31010)), yy311)) → :(:%(Neg(Zero), Neg(yy31010)), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(yy3010000))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), yy311)
new_groupByZs01(yy456, yy457) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy457)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), yy311)) → new_groupByZs06(Succ(Zero), Pos(Succ(Succ(Zero))), Succ(Zero), Pos(Succ(Succ(Zero))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), yy311)) → new_span2Zs21(yy311)
new_groupByZs066(yy708, yy709) → new_groupByZs014(Zero, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Zero, Pos(Succ(yy708)), yy709)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs077(yy301000000000, yy3101000000000, yy311, new_primEqNat0(yy301000000000, yy3101000000000))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(yy301000)))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs0116(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_groupByZs014(Zero, Pos(Succ(Succ(Succ(Succ(Zero))))), Zero, Pos(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs0112(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs04(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_span2Zs46(yy384, yy385, :(yy3880, yy3881)) → new_span2Zs127(yy384, yy385, yy3880, yy3881, new_esEs(:%(Pos(Succ(yy384)), yy385), yy3880))
new_span2Zs118(yy726, yy7270, yy7271, False) → :(yy7270, yy7271)
new_groupByZs072(yy301000000000, yy3101000000000, yy311, False) → new_groupByZs016(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy3101000000000, yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → new_groupByZs0119(Succ(Succ(Succ(Succ(Succ(Zero))))), yy310100000000, yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(yy3101000)))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs03(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), yy311)) → new_groupByZs06(Succ(Succ(Zero)), Pos(Succ(Succ(Zero))), Succ(Succ(Zero)), Pos(Succ(Succ(Zero))), yy311)
new_groupByZs072(yy301000000000, yy3101000000000, yy311, True) → new_groupByZs0170(yy301000000000, yy3101000000000, yy311, new_span2Ys21(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311), new_span2Zs24(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy301), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3100000000000))))))))), yy3101), yy311)) → new_groupByZs095(yy301, yy3100000000000, yy3101, yy311, new_asAs1(yy301, yy3101))
new_groupByZs046(yy446, yy447, yy448) → :(:%(Pos(Succ(yy446)), Pos(Succ(Succ(yy447)))), yy448)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs0152(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs078(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy3101000000000, yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))), yy311)) → new_groupByZs014(Succ(Zero), Pos(Succ(Zero)), Succ(Zero), Pos(Succ(Zero)), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Zero)), :(:%(Neg(Zero), Neg(Zero)), yy311)) → new_span2Zs41(yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), :(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), yy311)) → new_span2Zs30(yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs0109(Succ(Succ(Succ(yy30100000))), Succ(Succ(Zero)), yy311)
new_span2Zs43([]) → []
new_groupByZs084(yy732, yy733) → new_span2Zs24(yy732, yy733)
new_span2Ys121(yy612, yy6130, yy6131, False) → []
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), :(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), yy311)) → new_span2Zs43(yy311)
new_span2Zs23(yy766, :(yy7670, yy7671)) → new_span2Zs113(yy766, yy7670, yy7671, new_esEs(:%(Neg(Zero), Neg(Succ(yy766))), yy7670))
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(yy3010000))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))), yy311)) → :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs0139(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy311)
new_groupByZs087(yy301000000000, yy3101000000000, yy311, False) → new_groupByZs089(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy3101000000000, yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(yy310100))), yy311)
new_groupByZs091(yy738, yy739) → new_span2Zs44(yy738, yy739)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(yy3010000))))), :(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(yy30100))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Zero)), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Zero)), yy311)
new_groupByZs024(yy735, yy736) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy736)
new_span2Zs48(:(yy4900, yy4901)) → new_span2Zs116(Succ(Succ(Succ(Succ(Zero)))), yy4900, yy4901, new_esEs(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy4900))
new_groupByZs022(yy729, yy730) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy730)
new_span2Zs23(yy766, []) → []
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), yy311)) → new_groupByZs014(Succ(Succ(Succ(Zero))), Pos(Zero), Succ(Succ(Succ(Zero))), Neg(Zero), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_groupByZs014(Succ(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Succ(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Zero)), :(:%(Neg(Succ(Succ(Zero))), Neg(Zero)), yy311)) → new_groupByZs06(Succ(Zero), Pos(Zero), Succ(Zero), Neg(Zero), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(yy3010000))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), yy311)
new_span2Zs20(:(yy3110, yy3111)) → new_span2Zs111(Succ(Succ(Succ(Zero))), yy3110, yy3111, new_esEs(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy3110))
new_groupByZs0107(yy200, yy201, yy202, yy203) → :(:%(Neg(Succ(yy201)), Neg(yy202)), yy203)
new_span2Zs24(yy720, :(yy7210, yy7211)) → new_span2Zs111(yy720, yy7210, yy7211, new_esEs(:%(Pos(Zero), Pos(Succ(yy720))), yy7210))
new_groupByZs080(yy723, yy724) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy724)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(yy3101000)))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs080(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy311)
new_span2Zs21(:(yy3110, yy3111)) → new_span2Zs113(Succ(Succ(Zero)), yy3110, yy3111, new_esEs(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), yy3110))
new_groupByZs0(:%(Neg(Succ(yy30000)), yy301), :(:%(Neg(Zero), yy3101), yy311)) → :(:%(Neg(Zero), yy3101), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → new_groupByZs0123(yy30100000000, yy310100000000, yy311, new_primEqNat0(yy30100000000, yy310100000000))
new_span2Ys24([]) → []
new_groupByZs032(yy1045, yy1046, yy1259, yy1258) → yy1258
new_span2Zs33([]) → []
new_groupByZs010(yy1314, yy1315, yy1316, yy1317, yy1318) → yy1318
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_span2Zs42(yy311)
new_groupByZs065(yy705, yy706) → :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy706)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs076(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0116(yy1084, yy1085) → new_groupByZs06(Succ(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Succ(Zero), Neg(Succ(yy1084)), yy1085)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(yy30100))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Zero)), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Zero)), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → new_groupByZs0106(yy301000000, yy3101000000, yy311, new_primEqNat0(yy301000000, yy3101000000))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Zero))), :(:%(Pos(Succ(Zero)), Neg(Succ(Zero))), yy311)) → new_groupByZs014(Zero, Neg(Succ(Zero)), Zero, Neg(Succ(Zero)), yy311)
new_groupByZs0123(yy30100000000, yy310100000000, yy311, True) → new_groupByZs06(Zero, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))))), Zero, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000)))))))), yy311)
new_groupByZs0(:%(Neg(Succ(yy30000)), yy301), :(:%(Pos(yy31000), yy3101), yy311)) → :(:%(Pos(yy31000), yy3101), yy311)
new_span2Zs119(yy3110, yy3111, yy148, yy147) → yy147
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_span2Zs47(yy408, yy409, :(yy4120, yy4121)) → new_span2Zs125(yy408, yy409, yy4120, yy4121, new_esEs(:%(Neg(Succ(yy408)), yy409), yy4120))
new_groupByZs011(Neg(Zero), yy64, Neg(Zero), yy66) → new_groupByZs014(Succ(Succ(Succ(Succ(Zero)))), Neg(Zero), yy64, Neg(Zero), yy66)
new_groupByZs079(yy1052, yy1053) → new_groupByZs0157(yy1052, yy1053, new_span2Ys26(yy1052, yy1053), new_span2Zs44(yy1052, yy1053))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Zero))), :(:%(Pos(Succ(Zero)), Pos(Succ(Zero))), yy311)) → new_groupByZs014(Zero, Pos(Succ(Zero)), Zero, Pos(Succ(Zero)), yy311)
new_groupByZs064(yy1031, yy1032) → new_groupByZs014(Zero, Pos(Succ(yy1031)), Zero, Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy1032)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(yy301000)))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))), yy311)
new_groupByZs0113(yy3010000000, yy31010000000, yy311, False) → new_groupByZs0115(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy31010000000, yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs085(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_groupByZs06(Succ(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Succ(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs018(yy673, yy674, yy675, yy676, yy677) → new_groupByZs027(yy673, yy674, Succ(yy675), yy676, yy677)
new_groupByZs0161(yy679, yy680, yy681, yy682, yy683) → new_groupByZs0160(yy679, yy680, Succ(yy681), yy682, yy683)
new_groupByZs062(yy1028, yy1029) → :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy1029)
new_groupByZs019(yy459, yy460) → new_span2Zs27(yy460)
new_span2Ys110(yy3110, yy3111, False) → []
new_span2Zs125(yy408, yy409, yy4120, yy4121, True) → new_span2Zs115(yy408, yy409, yy4120, yy4121, new_span2Zs47(yy408, yy409, yy4121))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(yy3101000)))), yy311)) → new_groupByZs0109(Zero, Succ(yy3101000), yy311)
new_groupByZs015(yy63000, yy64, yy65000, yy66, True) → new_groupByZs014(Succ(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(yy63000))), yy64, Neg(Succ(Succ(yy65000))), yy66)
new_groupByZs052(yy301000000, yy3101000000, yy311, True) → new_groupByZs014(Succ(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(yy301000000)))))), Succ(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000)))))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → new_groupByZs067(yy30100000000, yy310100000000, yy311, new_primEqNat0(yy30100000000, yy310100000000))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(yy3010000))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), yy311)
new_groupByZs0137(yy1220, yy1221, yy1222) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy1221)))))))))), yy1222)
new_groupByZs0100(Pos(Succ(Zero)), yy74, Pos(Succ(Succ(yy75000))), yy76) → new_groupByZs0166(yy74, Succ(yy75000), yy76)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → new_groupByZs0147(Succ(Succ(Succ(Succ(Succ(Zero))))), yy310100000000, yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy301), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy3101), yy311)) → new_groupByZs011(yy301, Succ(Succ(Succ(Succ(Zero)))), yy3101, yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Zero)), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(yy310100))), yy311)
new_groupByZs0113(yy3010000000, yy31010000000, yy311, True) → new_groupByZs06(Succ(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000))))))), Succ(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000))))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_span2Zs29(:(yy3110, yy3111)) → new_span2Zs118(Succ(Succ(Zero)), yy3110, yy3111, new_esEs(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), yy3110))
new_groupByZs0117(yy30100000000, yy310100000000, yy311, False) → new_groupByZs0119(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy310100000000, yy311)
new_groupByZs088(yy1063, yy1064) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy1064)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Zero)), :(:%(Pos(Succ(Succ(Zero))), Neg(Zero)), yy311)) → new_groupByZs014(Succ(Zero), Neg(Zero), Succ(Zero), Neg(Zero), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs066(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(yy310100))), yy311)) → new_groupByZs0103(Succ(Succ(Succ(Zero))), yy310100, yy311)
new_groupByZs0169(yy73000, yy74, yy75000, yy76, True) → new_groupByZs06(Succ(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(yy73000))), yy74, Pos(Succ(Succ(yy75000))), yy76)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Zero)), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Zero)), yy311)) → new_groupByZs06(Succ(Succ(Zero)), Neg(Zero), Succ(Succ(Zero)), Neg(Zero), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs067(yy30100000000, yy310100000000, yy311, False) → new_groupByZs033(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy310100000000, yy311)
new_groupByZs0128(yy301000000000, yy3101000000000, yy311, False) → new_groupByZs0129(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy3101000000000, yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(yy3010000))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))), yy311)) → :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Zero)), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs014(Succ(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Succ(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_groupByZs0109(Succ(Succ(Succ(Succ(yy301000000)))), Succ(Succ(Succ(Zero))), yy311)
new_groupByZs0100(Pos(Succ(yy7300)), yy74, Pos(Zero), yy76) → new_groupByZs099(Zero, Pos(Succ(yy7300)), yy74, Pos(Zero), yy76)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Zero)), :(:%(Pos(Succ(Zero)), Pos(Zero)), yy311)) → new_groupByZs014(Zero, Neg(Zero), Zero, Pos(Zero), yy311)
new_groupByZs037(yy1198, yy1199, yy1200) → :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy1199)))))))), yy1200)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(yy30100))), :(:%(Pos(Succ(Succ(Zero))), Neg(Zero)), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Neg(Zero)), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Zero)), :(:%(Neg(Zero), Neg(Succ(yy310100))), yy311)) → :(:%(Neg(Zero), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Zero))), :(:%(Neg(Zero), Neg(Succ(Succ(yy3101000)))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_span2Zs40([]) → []
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)
new_groupByZs0102(yy741, yy742, yy743) → :(:%(Neg(Succ(yy741)), Pos(Succ(Succ(Succ(yy742))))), yy743)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), yy311)) → new_span2Zs31(yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0142(yy301000000000, yy3101000000000, yy311, True) → new_groupByZs0167(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy3101000000000, yy311, new_span2Ys23(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311), new_span2Zs19(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311))
new_span2Zs113(yy766, yy7670, yy7671, False) → :(yy7670, yy7671)
new_groupByZs0155(yy507, yy508) → new_span2Zs45(yy508)
new_span2Ys22([]) → []
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → new_groupByZs0108(yy301000000, yy3101000000, yy311, new_primEqNat0(yy301000000, yy3101000000))
new_groupByZs0100(Pos(Zero), yy74, Neg(Zero), yy76) → new_groupByZs06(Succ(Succ(Succ(Succ(Zero)))), Pos(Zero), yy74, Neg(Zero), yy76)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Zero)), :(:%(Pos(Succ(Zero)), Neg(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Zero)), Neg(Succ(yy310100))), yy311)
new_groupByZs093(yy300000000000, yy301, yy3100000000000, yy3101, yy311, True) → new_groupByZs06(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy300000000000))))))), yy301, Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3100000000000))))))), yy3101, yy311)
new_groupByZs033(yy1170, yy1171, yy1172) → :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy1171))))))))), yy1172)
new_span2Zs115(yy408, yy409, yy4120, yy4121, yy425) → yy425
new_groupByZs0(:%(Neg(Zero), Pos(Succ(yy30100))), :(:%(Neg(Zero), Pos(Zero)), yy311)) → :(:%(Neg(Zero), Pos(Zero)), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs0155(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs050(yy301000000, yy3101000000, yy311, False) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(yy3101000)))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0101(yy30100000, yy310100000, yy311, False) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0108(yy301000000, yy3101000000, yy311, False) → new_groupByZs0109(Succ(Succ(Succ(Succ(yy301000000)))), Succ(Succ(Succ(Succ(yy3101000000)))), yy311)
new_groupByZs0100(Neg(Succ(yy7300)), yy74, Pos(yy750), yy76) → new_groupByZs099(Zero, Neg(Succ(yy7300)), yy74, Pos(yy750), yy76)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)
new_span2Zs19(yy760, :(yy7610, yy7611)) → new_span2Zs116(yy760, yy7610, yy7611, new_esEs(:%(Neg(Zero), Pos(Succ(yy760))), yy7610))
new_groupByZs044(yy30100000, yy310100000, yy311, True) → new_groupByZs014(Succ(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(yy30100000))))), Succ(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(yy310100000))))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs02(yy482, yy483, yy484) → :(:%(Neg(Succ(yy482)), Pos(Succ(Succ(yy483)))), yy484)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(yy310100))), yy311)
new_groupByZs057(yy3010000000, yy31010000000, yy311, True) → new_groupByZs014(Succ(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000))))))), Succ(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000))))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(yy301000)))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Zero)), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs019(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs045(yy701, yy702, yy703) → :(:%(Pos(Succ(yy701)), Pos(Succ(Succ(Succ(yy702))))), yy703)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(yy301000)))), :(:%(Neg(Succ(Zero)), Neg(Succ(Zero))), yy311)) → :(:%(Neg(Succ(Zero)), Neg(Succ(Zero))), yy311)
new_groupByZs096(yy189, yy190, yy191, yy192, False) → :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy191), yy192)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))), yy311)) → new_groupByZs06(Zero, Neg(Succ(Succ(Zero))), Zero, Neg(Succ(Succ(Zero))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_span2Ys25(yy658, []) → []
new_span2Ys112(yy3110, yy3111, False) → []
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs0154(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_span2Ys19(yy658, yy6590, yy6591, yy1342, yy1341) → :(yy6590, yy1342)
new_groupByZs08(yy301000000000, yy3101000000000, yy311, True) → new_groupByZs010(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy3101000000000, yy311, new_span2Ys21(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311), new_span2Zs24(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311))
new_groupByZs0(:%(Pos(Zero), yy301), :(:%(Pos(Succ(yy310000)), yy3101), yy311)) → :(:%(Pos(Succ(yy310000)), yy3101), yy311)
new_groupByZs011(Neg(Zero), yy64, Pos(Succ(yy6500)), yy66) → new_groupByZs013(Zero, Neg(Zero), yy64, Pos(Succ(yy6500)), yy66)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Zero))), :(:%(Pos(Zero), Pos(Succ(Succ(yy3101000)))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0143(yy1116, yy1117) → new_groupByZs0147(yy1116, Zero, yy1117)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)
new_span2Zs25(:(yy3110, yy3111)) → new_span2Zs114(yy3110, yy3111, new_esEs(:%(Pos(Zero), Neg(Zero)), yy3110))
new_span2Zs21([]) → []
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → new_groupByZs057(yy3010000000, yy31010000000, yy311, new_primEqNat0(yy3010000000, yy31010000000))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → new_groupByZs0110(Succ(Succ(Succ(Succ(yy3101000000)))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(yy300000))), yy301), :(:%(Pos(Succ(Zero)), yy3101), yy311)) → :(:%(Pos(Succ(Zero)), yy3101), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(yy301000)))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))), yy311)
new_span2Zs30(:(yy3110, yy3111)) → new_span2Zs111(Succ(Zero), yy3110, yy3111, new_esEs(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), yy3110))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs09(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy3101000000000, yy311)
new_groupByZs0101(yy30100000, yy310100000, yy311, True) → new_groupByZs06(Succ(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(yy30100000))))), Succ(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(yy310100000))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(yy31010000))))), yy311)
new_span2Zs40(:(yy3110, yy3111)) → new_span2Zs116(Zero, yy3110, yy3111, new_esEs(:%(Neg(Zero), Pos(Succ(Zero))), yy3110))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs0153(Succ(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Zero)), :(:%(Pos(Zero), Neg(Succ(yy310100))), yy311)) → :(:%(Pos(Zero), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy301), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31000000000))))))), yy3101), yy311)) → new_groupByZs013(Zero, yy301, Succ(Succ(Succ(Succ(Succ(yy31000000000))))), yy3101, yy311)
new_groupByZs036(yy3010000000, yy31010000000, yy311, False) → new_groupByZs037(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy31010000000, yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(yy3010000))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Zero)), :(:%(Pos(Succ(Zero)), Pos(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Zero)), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Zero))), :(:%(Pos(Zero), Neg(Succ(Zero))), yy311)) → new_span2Zs26(yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy3000000000))))))), yy301), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy3101), yy311)) → new_groupByZs098(Succ(Succ(Succ(Succ(Succ(yy3000000000))))), yy301, yy3101, yy311)
new_groupByZs074(yy717, yy718) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy718)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), yy311)) → new_groupByZs014(Succ(Succ(Zero)), Pos(Succ(Zero)), Succ(Succ(Zero)), Pos(Succ(Zero)), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(yy301000)))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))), yy311)
new_span2Zs125(yy408, yy409, yy4120, yy4121, False) → :(yy4120, yy4121)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_span2Zs20(yy311)
new_span2Zs20([]) → []
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → new_groupByZs033(Succ(Succ(Succ(Succ(Succ(Zero))))), yy310100000000, yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_span2Zs34(yy311)
new_groupByZs093(yy300000000000, yy301, yy3100000000000, yy3101, yy311, False) → new_groupByZs0161(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy300000000000))))))), yy301, yy3100000000000, yy3101, yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(yy3010000))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), yy311)
new_span2Zs36([]) → []
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(yy30100))), :(:%(Pos(Succ(Zero)), Neg(Zero)), yy311)) → :(:%(Pos(Succ(Zero)), Neg(Zero)), yy311)
new_groupByZs099(yy90, yy91, yy92, yy93, yy94) → :(:%(Neg(Succ(yy92)), yy93), yy94)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))), yy311)) → new_groupByZs06(Succ(Succ(Zero)), Neg(Succ(Succ(Zero))), Succ(Succ(Zero)), Neg(Succ(Succ(Zero))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(yy30100))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), yy311)) → new_groupByZs047(Succ(Succ(Succ(Zero))), yy30100, yy311)
new_groupByZs039(yy300000000000, yy301, yy3100000000000, yy3101, yy311, False) → new_groupByZs018(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy300000000000))))))), yy301, yy3100000000000, yy3101, yy311)
new_span2Zs31(:(yy3110, yy3111)) → new_span2Zs111(Succ(Succ(Zero)), yy3110, yy3111, new_esEs(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), yy3110))
new_groupByZs011(Neg(Succ(Zero)), yy64, Neg(Succ(Zero)), yy66) → new_groupByZs014(Succ(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), yy64, Neg(Succ(Zero)), yy66)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(yy301000)))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), yy311)
new_span2Zs42([]) → []
new_span2Ys23(yy652, []) → []
new_groupByZs0(:%(Pos(Zero), Pos(Zero)), :(:%(Neg(Zero), Pos(Succ(yy310100))), yy311)) → :(:%(Neg(Zero), Pos(Succ(yy310100))), yy311)
new_groupByZs0171(yy73000, yy74, yy75000, yy76, True) → new_groupByZs06(Succ(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(yy73000))), yy74, Neg(Succ(Succ(yy75000))), yy76)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs069(yy1038, yy1039) → new_groupByZs014(Zero, Neg(Succ(yy1038)), Zero, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy1039)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Zero)), :(:%(Neg(Succ(Zero)), Neg(Zero)), yy311)) → new_groupByZs06(Zero, Neg(Zero), Zero, Neg(Zero), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Zero))), :(:%(Neg(Zero), Pos(Succ(Succ(yy3101000)))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(yy30100))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), yy311)) → new_groupByZs035(Succ(Succ(Succ(Zero))), yy30100, yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(yy3101000)))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0164(yy1066, yy1067, yy1267, yy1266) → yy1266
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs014(Zero, Pos(Succ(Succ(Succ(Zero)))), Zero, Pos(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs040(yy372, yy373, yy374, yy375, False) → new_groupByZs027(yy372, yy373, Zero, yy374, yy375)
new_span2Ys114(yy658, yy6590, yy6591, False) → []
new_span2Ys113(yy3110, yy3111, yy137, yy136) → :(yy3110, yy137)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs073(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311)
new_span2Zs114(yy3110, yy3111, False) → :(yy3110, yy3111)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0171(yy73000, yy74, yy75000, yy76, False) → new_groupByZs099(Zero, Neg(Succ(Succ(yy73000))), yy74, Neg(Succ(Succ(yy75000))), yy76)
new_span2Ys21(yy606, :(yy6070, yy6071)) → new_span2Ys116(yy606, yy6070, yy6071, new_esEs(:%(Pos(Zero), Pos(Succ(yy606))), yy6070))
new_span2Ys119(yy652, yy6530, yy6531, yy1337, yy1336) → :(yy6530, yy1337)
new_groupByZs0167(yy1324, yy1325, yy1326, yy1327, yy1328) → yy1328
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ BR
        ↳ HASKELL
          ↳ COR
            ↳ HASKELL
              ↳ LetRed
                ↳ HASKELL
                  ↳ Narrow
                    ↳ AND
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                      ↳ QDP
                        ↳ QDPOrderProof
QDP
                            ↳ PisEmptyProof

Q DP problem:
P is empty.
The TRS R consists of the following rules:

new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs085(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Zero)), :(:%(Pos(Zero), Pos(Zero)), yy311)) → new_span2Zs25(yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs0155(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy301), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy3101), yy311)) → new_groupByZs0100(yy301, Succ(Succ(Succ(Succ(Zero)))), yy3101, yy311)
new_groupByZs077(yy301000000000, yy3101000000000, yy311, True) → new_groupByZs0168(yy301000000000, yy3101000000000, yy311, new_span2Ys26(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311), new_span2Zs44(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311))
new_groupByZs0107(yy200, yy201, yy202, yy203) → :(:%(Neg(Succ(yy201)), Neg(yy202)), yy203)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(yy30100))), :(:%(Pos(Succ(Succ(Zero))), Pos(Zero)), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Pos(Zero)), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Zero)), :(:%(Pos(Zero), Neg(Zero)), yy311)) → new_span2Zs33(yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Zero)), :(:%(Neg(Zero), Pos(Zero)), yy311)) → new_span2Zs33(yy311)
new_groupByZs0135(yy301000000000, yy3101000000000, yy311, True) → new_groupByZs0163(yy301000000000, yy3101000000000, yy311, new_span2Ys25(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311), new_span2Zs23(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))), yy311)) → new_groupByZs06(Zero, Neg(Succ(Succ(Zero))), Zero, Neg(Succ(Succ(Zero))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Zero)), :(:%(Neg(Zero), Neg(Zero)), yy311)) → new_span2Zs41(yy311)
new_groupByZs011(Neg(Zero), yy64, Neg(Succ(yy6500)), yy66) → new_groupByZs013(Zero, Neg(Zero), yy64, Neg(Succ(yy6500)), yy66)
new_span2Zs44(yy726, []) → []
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs0134(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Zero)), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(yy30100))), :(:%(Neg(Succ(Zero)), Pos(Zero)), yy311)) → :(:%(Neg(Succ(Zero)), Pos(Zero)), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(yy30100))), :(:%(Pos(Succ(Zero)), Neg(Zero)), yy311)) → :(:%(Pos(Succ(Zero)), Neg(Zero)), yy311)
new_span2Zs113(yy766, yy7670, yy7671, True) → new_span2Zs112(yy766, yy7670, yy7671, new_span2Ys25(yy766, yy7671), new_span2Zs23(yy766, yy7671))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Zero))), :(:%(Neg(Succ(Zero)), Neg(Succ(Zero))), yy311)) → new_groupByZs06(Zero, Neg(Succ(Zero)), Zero, Neg(Succ(Zero)), yy311)
new_groupByZs021(yy1119, yy1120, yy1278, yy1277) → yy1277
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Zero)), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs0129(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy3101000000000, yy311)
new_groupByZs094(yy396, yy397, yy398, yy399, True) → new_groupByZs06(yy396, yy397, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy398, yy399)
new_groupByZs027(yy440, yy441, yy442, yy443, yy444) → :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy442)))))))), yy443), yy444)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs09(yy1186, yy1187, yy1188) → new_groupByZs083(yy1186, Succ(yy1187), yy1188)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))), yy311)) → new_groupByZs014(Zero, Pos(Succ(Succ(Zero))), Zero, Pos(Succ(Succ(Zero))), yy311)
new_span2Zs23(yy766, :(yy7670, yy7671)) → new_span2Zs113(yy766, yy7670, yy7671, new_esEs(:%(Neg(Zero), Neg(Succ(yy766))), yy7670))
new_groupByZs0149(yy501, yy502) → new_span2Zs48(yy502)
new_groupByZs0140(yy766, yy767) → new_span2Zs23(yy766, yy767)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → new_groupByZs0122(Succ(Succ(Succ(Succ(yy3101000000)))), yy311)
new_span2Zs20(:(yy3110, yy3111)) → new_span2Zs111(Succ(Succ(Succ(Zero))), yy3110, yy3111, new_esEs(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy3110))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs073(yy1042, yy1043) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy1043)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(yy301000)))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs0128(yy301000000000, yy3101000000000, yy311, new_primEqNat0(yy301000000000, yy3101000000000))
new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Pos(Zero), yy91)) → new_asAs1(yy81, yy91)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Zero)), :(:%(Pos(Succ(Succ(Zero))), Neg(Zero)), yy311)) → new_groupByZs014(Succ(Zero), Pos(Zero), Succ(Zero), Neg(Zero), yy311)
new_groupByZs0156(yy301000000000, yy3101000000000, yy311, yy1312, yy1311) → yy1311
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(yy301000)))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(yy301000)))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))), yy311)
new_span2Zs121(yy3110, yy3111, False) → :(yy3110, yy3111)
new_groupByZs00(yy772, yy773) → new_span2Zs19(yy772, yy773)
new_groupByZs0168(yy301000000000, yy3101000000000, yy311, yy1296, yy1295) → yy1295
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs014(Succ(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Succ(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs089(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy3101000000000, yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(yy31010000))))), yy311)) → new_groupByZs0102(Succ(Succ(Succ(Zero))), yy31010000, yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs014(Zero, Pos(Succ(Succ(Succ(Zero)))), Zero, Pos(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(yy30100))), :(:%(Pos(Succ(Zero)), Pos(Zero)), yy311)) → :(:%(Pos(Succ(Zero)), Pos(Zero)), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs069(Succ(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_span2Ys123(yy3110, yy3111, yy117, yy116) → :(yy3110, yy117)
new_span2Zs42([]) → []
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs0133(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_groupByZs083(yy933, yy934, yy935) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy934))))))))), yy935)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs065(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(yy301000)))), :(:%(Neg(Zero), Neg(Succ(Zero))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Zero))), yy311)
new_groupByZs0160(yy476, yy477, yy478, yy479, yy480) → :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy478)))))))), yy479), yy480)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(yy300000))), yy301), :(:%(Pos(Succ(Zero)), yy3101), yy311)) → :(:%(Pos(Succ(Zero)), yy3101), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Zero)), :(:%(Neg(Succ(Zero)), Pos(Zero)), yy311)) → new_groupByZs06(Zero, Pos(Zero), Zero, Pos(Zero), yy311)
new_span2Ys118(yy652, yy6530, yy6531, False) → []
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_span2Ys112(yy3110, yy3111, False) → []
new_span2Zs127(yy384, yy385, yy3880, yy3881, True) → new_span2Zs124(yy384, yy385, yy3880, yy3881, new_span2Zs46(yy384, yy385, yy3881))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))), yy311)) → new_groupByZs014(Succ(Succ(Zero)), Neg(Succ(Zero)), Succ(Succ(Zero)), Neg(Succ(Zero)), yy311)
new_groupByZs0(:%(Pos(Succ(yy30000)), yy301), :(:%(Neg(yy31000), yy3101), yy311)) → :(:%(Neg(yy31000), yy3101), yy311)
new_span2Zs19(yy760, :(yy7610, yy7611)) → new_span2Zs116(yy760, yy7610, yy7611, new_esEs(:%(Neg(Zero), Pos(Succ(yy760))), yy7610))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Zero)), :(:%(Neg(Succ(Zero)), Neg(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Zero)), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs06(Succ(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Succ(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy3000000000))))))), yy301), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy3101), yy311)) → new_groupByZs098(Succ(Succ(Succ(Succ(Succ(yy3000000000))))), yy301, yy3101, yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → new_groupByZs037(Succ(Succ(Succ(Succ(Zero)))), yy31010000000, yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs090(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_span2Ys116(yy606, yy6070, yy6071, False) → []
new_span2Ys119(yy652, yy6530, yy6531, yy1337, yy1336) → :(yy6530, yy1337)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Zero)), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), yy311)) → new_span2Zs29(yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(yy3101000)))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0100(Pos(Succ(Succ(yy73000))), yy74, Pos(Succ(Succ(yy75000))), yy76) → new_groupByZs0169(yy73000, yy74, yy75000, yy76, new_primEqNat0(yy73000, yy75000))
new_groupByZs0105(yy1194, yy1195, yy1196) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(yy1195))), yy1196)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs087(yy301000000000, yy3101000000000, yy311, new_primEqNat0(yy301000000000, yy3101000000000))
new_span2Zs118(yy726, yy7270, yy7271, False) → :(yy7270, yy7271)
new_groupByZs0100(Pos(Succ(Zero)), yy74, Pos(Succ(Zero)), yy76) → new_groupByZs06(Succ(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), yy74, Pos(Succ(Zero)), yy76)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → new_groupByZs0108(yy301000000, yy3101000000, yy311, new_primEqNat0(yy301000000, yy3101000000))
new_groupByZs088(yy1063, yy1064) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy1064)
new_groupByZs095(yy301, yy3100000000000, yy3101, yy311, False) → new_groupByZs0161(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy301, yy3100000000000, yy3101, yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_span2Zs39(:(yy3110, yy3111)) → new_span2Zs116(Succ(Zero), yy3110, yy3111, new_esEs(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), yy3110))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Zero)), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs0135(yy301000000000, yy3101000000000, yy311, new_primEqNat0(yy301000000000, yy3101000000000))
new_groupByZs0(:%(Neg(Zero), yy301), :(:%(Neg(Succ(yy310000)), yy3101), yy311)) → :(:%(Neg(Succ(yy310000)), yy3101), yy311)
new_groupByZs0116(yy1084, yy1085) → new_groupByZs06(Succ(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Succ(Zero), Neg(Succ(yy1084)), yy1085)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → new_groupByZs0117(yy30100000000, yy310100000000, yy311, new_primEqNat0(yy30100000000, yy310100000000))
new_groupByZs0114(yy1081, yy1082) → :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy1082)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs084(Succ(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0128(yy301000000000, yy3101000000000, yy311, False) → new_groupByZs0129(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy3101000000000, yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), yy311)
new_span2Zs22(:(yy3110, yy3111)) → new_span2Zs121(yy3110, yy3111, new_esEs(:%(Neg(Zero), Neg(Zero)), yy3110))
new_groupByZs0124(yy1095, yy1096) → :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy1096)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs0153(Succ(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), yy301), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(yy3100000000)))))), yy3101), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Succ(yy3100000000)))))), yy3101), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_groupByZs06(Zero, Pos(Succ(Succ(Succ(Succ(Zero))))), Zero, Pos(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → new_groupByZs083(Succ(Succ(Succ(Succ(Succ(Zero))))), yy310100000000, yy311)
new_groupByZs019(yy459, yy460) → new_span2Zs27(yy460)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(yy301000)))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))), yy311)) → new_groupByZs0109(Succ(yy301000), Zero, yy311)
new_groupByZs049(yy30100000, yy310100000, yy311, False) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs078(yy1180, yy1181, yy1182) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy1181)))))))))), yy1182)
new_span2Zs114(yy3110, yy3111, False) → :(yy3110, yy3111)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(yy30100))), :(:%(Neg(Succ(Zero)), Pos(yy31010)), yy311)) → :(:%(Neg(Succ(Zero)), Pos(yy31010)), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), yy311)) → new_groupByZs014(Succ(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), yy311)
new_groupByZs042(yy301, yy310000000000, yy3101, yy311, False) → new_groupByZs027(Succ(Succ(Succ(Succ(Succ(Zero))))), yy301, yy310000000000, yy3101, yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(yy301000)))), :(:%(Neg(Succ(Zero)), Neg(Succ(Zero))), yy311)) → :(:%(Neg(Succ(Zero)), Neg(Succ(Zero))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Zero))), :(:%(Neg(Zero), Neg(Succ(Zero))), yy311)) → new_span2Zs36(yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(yy31010000))))), yy311)) → new_groupByZs045(Succ(Succ(Succ(Zero))), yy31010000, yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), :(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), yy311)) → new_span2Zs43(yy311)
new_groupByZs023(yy1102, yy1103) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy1103)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0150(yy301000000000, yy3101000000000, yy311, False) → new_groupByZs028(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy3101000000000, yy311)
new_groupByZs0100(Neg(Succ(Succ(yy73000))), yy74, Neg(Succ(Succ(yy75000))), yy76) → new_groupByZs0171(yy73000, yy74, yy75000, yy76, new_primEqNat0(yy73000, yy75000))
new_primEqNat0(Zero, Zero) → True
new_groupByZs072(yy301000000000, yy3101000000000, yy311, True) → new_groupByZs0170(yy301000000000, yy3101000000000, yy311, new_span2Ys21(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311), new_span2Zs24(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs092(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), yy311)) → new_groupByZs06(Succ(Zero), Neg(Succ(Succ(Zero))), Succ(Zero), Neg(Succ(Succ(Zero))), yy311)
new_esEs(:%(Pos(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(yy30100))), :(:%(Neg(Succ(Succ(Zero))), Neg(yy31010)), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Neg(yy31010)), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), yy311)) → new_groupByZs06(Succ(Succ(Succ(Zero))), Neg(Zero), Succ(Succ(Succ(Zero))), Pos(Zero), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Zero)), :(:%(Neg(Succ(Zero)), Pos(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Zero)), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Zero)), :(:%(Pos(Succ(Zero)), Neg(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Zero)), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(yy3010000))))), :(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), yy311)) → new_groupByZs014(Succ(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), yy311)
new_groupByZs016(yy1174, yy1175, yy1176) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy1175)))))))))), yy1176)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → new_groupByZs0147(Succ(Succ(Succ(Succ(Succ(Zero))))), yy310100000000, yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Zero))), :(:%(Neg(Zero), Pos(Succ(Succ(yy3101000)))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Zero))), :(:%(Pos(Zero), Neg(Succ(Succ(yy3101000)))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(yy3101000)))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(yy3101000)))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0128(yy301000000000, yy3101000000000, yy311, True) → new_groupByZs0158(yy301000000000, yy3101000000000, yy311, new_span2Ys23(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311), new_span2Zs19(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311))
new_groupByZs0136(yy1109, yy1110) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy1110)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(yy3010000))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))), yy311)) → :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(yy30100))), :(:%(Pos(Zero), Pos(yy31010)), yy311)) → :(:%(Pos(Zero), Pos(yy31010)), yy311)
new_groupByZs041(yy172, yy173, yy174, yy175, False) → :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy174), yy175)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs0127(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_span2Zs48(:(yy4900, yy4901)) → new_span2Zs116(Succ(Succ(Succ(Succ(Zero)))), yy4900, yy4901, new_esEs(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy4900))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), yy311)) → new_groupByZs014(Succ(Succ(Succ(Zero))), Pos(Succ(Zero)), Succ(Succ(Succ(Zero))), Pos(Succ(Zero)), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(yy30100))), :(:%(Pos(Succ(Zero)), Neg(yy31010)), yy311)) → :(:%(Pos(Succ(Zero)), Neg(yy31010)), yy311)
new_groupByZs033(yy1170, yy1171, yy1172) → :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy1171))))))))), yy1172)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs023(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → new_groupByZs0113(yy3010000000, yy31010000000, yy311, new_primEqNat0(yy3010000000, yy31010000000))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), yy301), :(:%(Neg(Succ(Succ(Succ(yy31000000)))), yy3101), yy311)) → :(:%(Neg(Succ(Succ(Succ(yy31000000)))), yy3101), yy311)
new_groupByZs0102(yy741, yy742, yy743) → :(:%(Neg(Succ(yy741)), Pos(Succ(Succ(Succ(yy742))))), yy743)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_span2Zs46(yy384, yy385, :(yy3880, yy3881)) → new_span2Zs127(yy384, yy385, yy3880, yy3881, new_esEs(:%(Pos(Succ(yy384)), yy385), yy3880))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), yy311)) → new_groupByZs06(Succ(Succ(Succ(Zero))), Pos(Zero), Succ(Succ(Succ(Zero))), Neg(Zero), yy311)
new_span2Zs28(:(yy4540, yy4541)) → new_span2Zs111(Succ(Succ(Succ(Succ(Zero)))), yy4540, yy4541, new_esEs(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy4540))
new_span2Zs26([]) → []
new_groupByZs046(yy446, yy447, yy448) → :(:%(Pos(Succ(yy446)), Pos(Succ(Succ(yy447)))), yy448)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs0121(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_span2Zs31([]) → []
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(yy3010000))))), :(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), yy311)
new_groupByZs0171(yy73000, yy74, yy75000, yy76, True) → new_groupByZs06(Succ(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(yy73000))), yy74, Neg(Succ(Succ(yy75000))), yy76)
new_span2Zs45(:(yy4960, yy4961)) → new_span2Zs113(Succ(Succ(Succ(Succ(Zero)))), yy4960, yy4961, new_esEs(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy4960))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), :(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), yy311)) → new_span2Zs39(yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(yy301000)))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(yy301000)))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Zero)), :(:%(Neg(Zero), Pos(Zero)), yy311)) → new_span2Zs22(yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Zero)), :(:%(Neg(Zero), Pos(Succ(yy310100))), yy311)) → :(:%(Neg(Zero), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Zero)), :(:%(Pos(Zero), Neg(Zero)), yy311)) → new_span2Zs22(yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Zero)), :(:%(Pos(Zero), Neg(Succ(yy310100))), yy311)) → :(:%(Pos(Zero), Neg(Succ(yy310100))), yy311)
new_span2Zs116(yy760, yy7610, yy7611, False) → :(yy7610, yy7611)
new_span2Zs39([]) → []
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_span2Zs37(yy311)
new_span2Zs20([]) → []
new_span2Zs36(:(yy3110, yy3111)) → new_span2Zs118(Zero, yy3110, yy3111, new_esEs(:%(Pos(Zero), Neg(Succ(Zero))), yy3110))
new_groupByZs0100(Pos(Zero), yy74, Neg(Succ(yy7500)), yy76) → new_groupByZs099(Zero, Pos(Zero), yy74, Neg(Succ(yy7500)), yy76)
new_groupByZs0100(Neg(Zero), yy74, Pos(Succ(yy7500)), yy76) → new_groupByZs099(Zero, Neg(Zero), yy74, Pos(Succ(yy7500)), yy76)
new_groupByZs011(Neg(Succ(Zero)), yy64, Neg(Succ(Zero)), yy66) → new_groupByZs014(Succ(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), yy64, Neg(Succ(Zero)), yy66)
new_groupByZs0154(yy504, yy505) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy505)
new_groupByZs0100(Neg(Succ(Succ(yy73000))), yy74, Neg(Succ(Zero)), yy76) → new_groupByZs099(Zero, Neg(Succ(Succ(yy73000))), yy74, Neg(Succ(Zero)), yy76)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), yy311)) → new_groupByZs06(Succ(Succ(Succ(Zero))), Pos(Succ(Zero)), Succ(Succ(Succ(Zero))), Pos(Succ(Zero)), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(yy3101000)))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Zero)), :(:%(Pos(Zero), Pos(Succ(yy310100))), yy311)) → :(:%(Pos(Zero), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs06(Succ(Zero), Neg(Succ(Succ(Succ(Zero)))), Succ(Zero), Neg(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(yy30100))), :(:%(Neg(Zero), Neg(yy31010)), yy311)) → :(:%(Neg(Zero), Neg(yy31010)), yy311)
new_span2Zs30(:(yy3110, yy3111)) → new_span2Zs111(Succ(Zero), yy3110, yy3111, new_esEs(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), yy3110))
new_asAs2(Neg(Succ(yy8100)), Neg(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(yy3000000)))), yy301), :(:%(Pos(Succ(Succ(Zero))), yy3101), yy311)) → :(:%(Pos(Succ(Succ(Zero))), yy3101), yy311)
new_groupByZs053(yy3010000000, yy31010000000, yy311, False) → new_groupByZs055(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy31010000000, yy311)
new_span2Zs40([]) → []
new_groupByZs060(yy1024, yy1025) → new_groupByZs014(Succ(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Succ(Zero), Neg(Succ(yy1024)), yy1025)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(yy301000)))), :(:%(Pos(Zero), Neg(Succ(Zero))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Zero))), yy311)
new_groupByZs031(yy1045, yy1046) → new_groupByZs032(yy1045, yy1046, new_span2Ys21(yy1045, yy1046), new_span2Zs24(yy1045, yy1046))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))), yy311)) → new_groupByZs014(Succ(Zero), Pos(Succ(Zero)), Succ(Zero), Pos(Succ(Zero)), yy311)
new_span2Zs28([]) → []
new_groupByZs011(Neg(Succ(yy6300)), yy64, Neg(Zero), yy66) → new_groupByZs013(Zero, Neg(Succ(yy6300)), yy64, Neg(Zero), yy66)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(yy3010000))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(yy3010000))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs01(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_esEs(:%(Pos(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → new_groupByZs055(Succ(Succ(Succ(Succ(Zero)))), yy31010000000, yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs066(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs011(Pos(Succ(Zero)), yy64, Pos(Succ(Zero)), yy66) → new_groupByZs014(Succ(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), yy64, Pos(Succ(Zero)), yy66)
new_groupByZs012(yy63000, yy64, yy65000, yy66, False) → new_groupByZs013(Zero, Pos(Succ(Succ(yy63000))), yy64, Pos(Succ(Succ(yy65000))), yy66)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(yy30100))), :(:%(Neg(Zero), Pos(Zero)), yy311)) → :(:%(Neg(Zero), Pos(Zero)), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(yy30100))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), yy311)
new_span2Ys110(yy3110, yy3111, True) → new_span2Ys111(yy3110, yy3111, new_span2Ys20(yy3111), new_span2Zs22(yy3111))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy301), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy3101), yy311)) → new_groupByZs094(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy301, yy3101, yy311, new_asAs2(yy301, yy3101))
new_span2Zs25([]) → []
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_groupByZs0109(Succ(Succ(Succ(Succ(yy301000000)))), Succ(Succ(Succ(Zero))), yy311)
new_span2Zs114(yy3110, yy3111, True) → new_span2Zs120(yy3110, yy3111, new_span2Ys24(yy3111), new_span2Zs25(yy3111))
new_groupByZs0169(yy73000, yy74, yy75000, yy76, False) → new_groupByZs099(Zero, Pos(Succ(Succ(yy73000))), yy74, Pos(Succ(Succ(yy75000))), yy76)
new_groupByZs048(yy390, yy391, yy392) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(yy391))), yy392)
new_groupByZs0113(yy3010000000, yy31010000000, yy311, True) → new_groupByZs06(Succ(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000))))))), Succ(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000))))))), yy311)
new_span2Zs128(yy726, yy7270, yy7271, yy1346, yy1345) → yy1345
new_groupByZs0(:%(Neg(Succ(Succ(Succ(yy3000000)))), yy301), :(:%(Neg(Succ(Succ(Zero))), yy3101), yy311)) → :(:%(Neg(Succ(Succ(Zero))), yy3101), yy311)
new_groupByZs0110(yy1269, yy1270) → new_groupByZs0109(Succ(Succ(Succ(Zero))), yy1269, yy1270)
new_groupByZs091(yy738, yy739) → new_span2Zs44(yy738, yy739)
new_span2Zs117(yy760, yy7610, yy7611, yy1350, yy1349) → yy1349
new_primEqNat0(Succ(yy81000), Succ(yy91000)) → new_primEqNat0(yy81000, yy91000)
new_groupByZs085(yy462, yy463) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy463)
new_groupByZs018(yy673, yy674, yy675, yy676, yy677) → new_groupByZs027(yy673, yy674, Succ(yy675), yy676, yy677)
new_span2Zs122(yy3110, yy3111, True) → new_span2Zs110(yy3110, yy3111, new_span2Ys27(yy3111), new_span2Zs41(yy3111))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Zero))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(yy3101000)))), yy311)) → :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Zero))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(yy3101000)))), yy311)) → :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs09(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy3101000000000, yy311)
new_groupByZs01(yy456, yy457) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy457)
new_groupByZs015(yy63000, yy64, yy65000, yy66, False) → new_groupByZs013(Zero, Neg(Succ(Succ(yy63000))), yy64, Neg(Succ(Succ(yy65000))), yy66)
new_groupByZs0100(Pos(Zero), yy74, Pos(Zero), yy76) → new_groupByZs06(Succ(Succ(Succ(Succ(Zero)))), Pos(Zero), yy74, Pos(Zero), yy76)
new_groupByZs093(yy300000000000, yy301, yy3100000000000, yy3101, yy311, False) → new_groupByZs0161(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy300000000000))))))), yy301, yy3100000000000, yy3101, yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), :(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), yy311)) → new_span2Zs35(yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(yy30100))), :(:%(Pos(Zero), Pos(Zero)), yy311)) → :(:%(Pos(Zero), Pos(Zero)), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Pos(Zero), yy301), :(:%(Neg(Succ(yy310000)), yy3101), yy311)) → :(:%(Neg(Succ(yy310000)), yy3101), yy311)
new_groupByZs054(yy1014, yy1015) → :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy1015)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_span2Ys21(yy606, :(yy6070, yy6071)) → new_span2Ys116(yy606, yy6070, yy6071, new_esEs(:%(Pos(Zero), Pos(Succ(yy606))), yy6070))
new_groupByZs0(:%(Pos(Zero), Neg(Zero)), :(:%(Neg(Zero), Neg(Zero)), yy311)) → new_span2Zs25(yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), yy301), :(:%(Neg(Succ(Succ(yy3100000))), yy3101), yy311)) → :(:%(Neg(Succ(Succ(yy3100000))), yy3101), yy311)
new_span2Zs34([]) → []
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_span2Zs20(yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs08(yy301000000000, yy3101000000000, yy311, new_primEqNat0(yy301000000000, yy3101000000000))
new_groupByZs0103(yy415, yy416, yy417) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(yy416))), yy417)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(yy301000)))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), yy311)
new_groupByZs077(yy301000000000, yy3101000000000, yy311, False) → new_groupByZs078(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy3101000000000, yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), yy301), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(yy3100000000)))))), yy3101), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Succ(yy3100000000)))))), yy3101), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs06(Succ(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Succ(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → new_groupByZs033(Succ(Succ(Succ(Succ(Succ(Zero))))), yy310100000000, yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs06(Succ(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Succ(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), yy311)
new_span2Zs32([]) → []
new_esEs(:%(Neg(Zero), yy81), :%(Pos(Zero), yy91)) → new_asAs2(yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(yy3010000))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))), yy311)) → :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))), yy311)
new_groupByZs0153(yy778, yy779) → new_span2Zs23(yy778, yy779)
new_asAs2(Pos(Succ(yy8100)), Neg(yy910)) → False
new_asAs2(Neg(Succ(yy8100)), Pos(yy910)) → False
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs038(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_asAs1(yy81, yy91) → False
new_span2Ys110(yy3110, yy3111, False) → []
new_span2Zs38([]) → []
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(yy30100))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(yy31010)), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(yy31010)), yy311)
new_groupByZs067(yy30100000000, yy310100000000, yy311, False) → new_groupByZs033(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy310100000000, yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs0140(Succ(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))), yy311)) → new_groupByZs014(Succ(Zero), Neg(Succ(Zero)), Succ(Zero), Neg(Succ(Zero)), yy311)
new_span2Zs41([]) → []
new_groupByZs011(Neg(Zero), yy64, Neg(Zero), yy66) → new_groupByZs014(Succ(Succ(Succ(Succ(Zero)))), Neg(Zero), yy64, Neg(Zero), yy66)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → new_groupByZs053(yy3010000000, yy31010000000, yy311, new_primEqNat0(yy3010000000, yy31010000000))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Zero)), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), yy311)) → new_groupByZs06(Succ(Succ(Zero)), Neg(Zero), Succ(Succ(Zero)), Pos(Zero), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), yy311)) → new_groupByZs014(Succ(Succ(Succ(Zero))), Neg(Zero), Succ(Succ(Succ(Zero))), Neg(Zero), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), yy311)) → new_groupByZs06(Succ(Succ(Zero)), Pos(Succ(Succ(Zero))), Succ(Succ(Zero)), Pos(Succ(Succ(Zero))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs0105(yy30100000, Succ(Succ(Zero)), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), yy301), :(:%(Pos(Succ(Succ(yy3100000))), yy3101), yy311)) → :(:%(Pos(Succ(Succ(yy3100000))), yy3101), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), yy311)) → new_groupByZs014(Succ(Succ(Zero)), Pos(Succ(Succ(Zero))), Succ(Succ(Zero)), Pos(Succ(Succ(Zero))), yy311)
new_groupByZs024(yy735, yy736) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy736)
new_groupByZs0100(Neg(Succ(Zero)), yy74, Neg(Succ(Succ(yy75000))), yy76) → new_groupByZs099(Zero, Neg(Succ(Zero)), yy74, Neg(Succ(Succ(yy75000))), yy76)
new_groupByZs040(yy372, yy373, yy374, yy375, True) → new_groupByZs014(yy372, yy373, Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy374, yy375)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs034(Succ(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs0154(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy301), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3100000000000))))))))), yy3101), yy311)) → new_groupByZs017(yy301, yy3100000000000, yy3101, yy311, new_asAs1(yy301, yy3101))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(yy30100))), :(:%(Neg(Succ(Succ(Zero))), Pos(yy31010)), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Pos(yy31010)), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → new_groupByZs0101(yy30100000, yy310100000, yy311, new_primEqNat0(yy30100000, yy310100000))
new_groupByZs0108(yy301000000, yy3101000000, yy311, False) → new_groupByZs0109(Succ(Succ(Succ(Succ(yy301000000)))), Succ(Succ(Succ(Succ(yy3101000000)))), yy311)
new_span2Zs32(:(yy3110, yy3111)) → new_span2Zs111(Zero, yy3110, yy3111, new_esEs(:%(Pos(Zero), Pos(Succ(Zero))), yy3110))
new_groupByZs011(Pos(Succ(Zero)), yy64, Pos(Succ(Succ(yy65000))), yy66) → new_groupByZs013(Zero, Pos(Succ(Zero)), yy64, Pos(Succ(Succ(yy65000))), yy66)
new_groupByZs098(yy68, yy69, yy70, yy71) → :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy70), yy71)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), yy311)) → new_groupByZs014(Succ(Succ(Zero)), Pos(Succ(Zero)), Succ(Succ(Zero)), Pos(Succ(Zero)), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs031(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs094(yy396, yy397, yy398, yy399, False) → new_groupByZs0160(yy396, yy397, Zero, yy398, yy399)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Zero))), :(:%(Neg(Zero), Pos(Succ(Zero))), yy311)) → new_span2Zs32(yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)
new_span2Zs41(:(yy3110, yy3111)) → new_span2Zs122(yy3110, yy3111, new_esEs(:%(Neg(Zero), Pos(Zero)), yy3110))
new_groupByZs011(Neg(Succ(yy6300)), yy64, Pos(yy650), yy66) → new_groupByZs013(Zero, Neg(Succ(yy6300)), yy64, Pos(yy650), yy66)
new_groupByZs011(Pos(Succ(yy6300)), yy64, Neg(yy650), yy66) → new_groupByZs013(Zero, Pos(Succ(yy6300)), yy64, Neg(yy650), yy66)
new_span2Zs36([]) → []
new_asAs2(Pos(Zero), Pos(Zero)) → True
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs0142(yy301000000000, yy3101000000000, yy311, new_primEqNat0(yy301000000000, yy3101000000000))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_groupByZs06(Succ(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Succ(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs019(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(yy301000)))), :(:%(Neg(Zero), Pos(Succ(Zero))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Zero))), yy311)
new_groupByZs038(yy1059, yy1060) → new_groupByZs026(yy1059, yy1060, new_span2Ys21(yy1059, yy1060), new_span2Zs24(yy1059, yy1060))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))), yy311)) → new_groupByZs06(Zero, Pos(Succ(Succ(Zero))), Zero, Pos(Succ(Succ(Zero))), yy311)
new_span2Zs25(:(yy3110, yy3111)) → new_span2Zs114(yy3110, yy3111, new_esEs(:%(Pos(Zero), Neg(Zero)), yy3110))
new_groupByZs012(yy63000, yy64, yy65000, yy66, True) → new_groupByZs014(Succ(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(yy63000))), yy64, Pos(Succ(Succ(yy65000))), yy66)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), yy311)) → new_groupByZs014(Succ(Succ(Succ(Zero))), Neg(Zero), Succ(Succ(Succ(Zero))), Pos(Zero), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Zero)), :(:%(Pos(Zero), Pos(Succ(yy310100))), yy311)) → :(:%(Pos(Zero), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_groupByZs06(Succ(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Succ(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs017(yy301, yy3100000000000, yy3101, yy311, True) → new_groupByZs014(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy301, Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3100000000000))))))), yy3101, yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), yy311)
new_span2Ys121(yy612, yy6130, yy6131, False) → []
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs079(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0134(yy489, yy490) → new_span2Zs48(yy490)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs054(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_primEqNat0(Succ(yy81000), Zero) → False
new_primEqNat0(Zero, Succ(yy91000)) → False
new_groupByZs0146(yy769, yy770) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy770)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(yy30100))), :(:%(Neg(Succ(Succ(Zero))), Pos(Zero)), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Pos(Zero)), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(yy30100))), :(:%(Pos(Succ(Succ(Zero))), Neg(Zero)), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Neg(Zero)), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), yy311)) → new_span2Zs38(yy311)
new_span2Zs126(yy3110, yy3111, False) → :(yy3110, yy3111)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(yy30100))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(yy31010)), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(yy31010)), yy311)
new_groupByZs096(yy189, yy190, yy191, yy192, False) → :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy191), yy192)
new_span2Zs123(yy720, yy7210, yy7211, yy1344, yy1343) → yy1343
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0139(yy763, yy764) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy764)
new_groupByZs039(yy300000000000, yy301, yy3100000000000, yy3101, yy311, False) → new_groupByZs018(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy300000000000))))))), yy301, yy3100000000000, yy3101, yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Zero))), :(:%(Neg(Zero), Neg(Succ(Zero))), yy311)) → new_span2Zs26(yy311)
new_groupByZs0(:%(Pos(Succ(yy30000)), yy301), :(:%(Pos(Zero), yy3101), yy311)) → :(:%(Pos(Zero), yy3101), yy311)
new_groupByZs08(yy301000000000, yy3101000000000, yy311, False) → new_groupByZs09(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy3101000000000, yy311)
new_span2Zs40(:(yy3110, yy3111)) → new_span2Zs116(Zero, yy3110, yy3111, new_esEs(:%(Neg(Zero), Pos(Succ(Zero))), yy3110))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(yy30100))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(yy3010000))))), :(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), yy311)
new_span2Zs27([]) → []
new_groupByZs080(yy723, yy724) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy724)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs0145(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_span2Zs37(yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), yy311)) → new_groupByZs06(Succ(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), yy311)
new_groupByZs0117(yy30100000000, yy310100000000, yy311, False) → new_groupByZs0119(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy310100000000, yy311)
new_groupByZs013(yy84, yy85, yy86, yy87, yy88) → :(:%(Pos(Succ(yy86)), yy87), yy88)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs097(yy301, yy310000000000, yy3101, yy311, True) → new_groupByZs06(Succ(Succ(Succ(Succ(Succ(Zero))))), yy301, Succ(Succ(Succ(Succ(Succ(Succ(yy310000000000)))))), yy3101, yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy301), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3100000000000))))))))), yy3101), yy311)) → new_groupByZs095(yy301, yy3100000000000, yy3101, yy311, new_asAs1(yy301, yy3101))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(yy3010000))))), :(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → new_groupByZs049(yy30100000, yy310100000, yy311, new_primEqNat0(yy30100000, yy310100000))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(yy3010000))))), :(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs04(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)
new_groupByZs020(yy301000000000, yy3101000000000, yy311, yy1300, yy1299) → yy1299
new_groupByZs0171(yy73000, yy74, yy75000, yy76, False) → new_groupByZs099(Zero, Neg(Succ(Succ(yy73000))), yy74, Neg(Succ(Succ(yy75000))), yy76)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(yy30100))), :(:%(Neg(Zero), Neg(yy31010)), yy311)) → :(:%(Neg(Zero), Neg(yy31010)), yy311)
new_span2Zs35([]) → []
new_groupByZs087(yy301000000000, yy3101000000000, yy311, False) → new_groupByZs089(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy3101000000000, yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy300000000000))))))))), yy301), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy3101), yy311)) → new_groupByZs094(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy300000000000))))))), yy301, yy3101, yy311, new_asAs1(yy301, yy3101))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(yy301000)))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs0111(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_span2Zs24(yy720, :(yy7210, yy7211)) → new_span2Zs111(yy720, yy7210, yy7211, new_esEs(:%(Pos(Zero), Pos(Succ(yy720))), yy7210))
new_groupByZs0104(yy30100000, yy310100000, yy311, True) → new_groupByZs06(Succ(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(yy30100000))))), Succ(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(yy310100000))))), yy311)
new_groupByZs068(yy1035, yy1036) → :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy1036)
new_groupByZs029(yy468, yy469) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy469)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Zero)), :(:%(Pos(Succ(Zero)), Pos(Zero)), yy311)) → new_groupByZs014(Zero, Neg(Zero), Zero, Pos(Zero), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs06(Zero, Pos(Succ(Succ(Succ(Zero)))), Zero, Pos(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)
new_groupByZs011(Pos(Succ(Succ(yy63000))), yy64, Pos(Succ(Succ(yy65000))), yy66) → new_groupByZs012(yy63000, yy64, yy65000, yy66, new_primEqNat0(yy63000, yy65000))
new_groupByZs0113(yy3010000000, yy31010000000, yy311, False) → new_groupByZs0115(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy31010000000, yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy301), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31000000000))))))), yy3101), yy311)) → new_groupByZs099(Zero, yy301, Succ(Succ(Succ(Succ(Succ(yy31000000000))))), yy3101, yy311)
new_groupByZs0119(yy1206, yy1207, yy1208) → :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy1207))))))))), yy1208)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_span2Zs31(:(yy3110, yy3111)) → new_span2Zs111(Succ(Succ(Zero)), yy3110, yy3111, new_esEs(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), yy3110))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(yy30100))), :(:%(Neg(Succ(Zero)), Neg(yy31010)), yy311)) → :(:%(Neg(Succ(Zero)), Neg(yy31010)), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_groupByZs014(Zero, Neg(Succ(Succ(Succ(Succ(Zero))))), Zero, Neg(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(yy3101000)))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(yy3101000)))), yy311)
new_groupByZs04(yy492, yy493) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy493)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs014(Zero, Neg(Succ(Succ(Succ(Zero)))), Zero, Neg(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Zero))), :(:%(Pos(Zero), Pos(Succ(Zero))), yy311)) → new_span2Zs32(yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_span2Zs120(yy3110, yy3111, yy151, yy150) → yy150
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(yy3010000))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs029(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0157(yy1052, yy1053, yy1262, yy1261) → yy1261
new_span2Ys114(yy658, yy6590, yy6591, True) → new_span2Ys19(yy658, yy6590, yy6591, new_span2Ys25(yy658, yy6591), new_span2Zs23(yy658, yy6591))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(yy30100))), :(:%(Neg(Zero), Pos(Zero)), yy311)) → :(:%(Neg(Zero), Pos(Zero)), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(yy30100))), :(:%(Pos(Zero), Neg(Zero)), yy311)) → :(:%(Pos(Zero), Neg(Zero)), yy311)
new_span2Zs45([]) → []
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → new_groupByZs07(Succ(Succ(Zero)), yy310100000, yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Zero)), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Zero)), :(:%(Neg(Zero), Neg(Succ(yy310100))), yy311)) → :(:%(Neg(Zero), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Zero)), :(:%(Neg(Zero), Neg(Succ(yy310100))), yy311)) → :(:%(Neg(Zero), Neg(Succ(yy310100))), yy311)
new_groupByZs0101(yy30100000, yy310100000, yy311, True) → new_groupByZs06(Succ(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(yy30100000))))), Succ(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(yy310100000))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(yy31010000))))), yy311)) → new_groupByZs0109(Succ(Zero), Succ(Succ(yy31010000)), yy311)
new_span2Ys27([]) → []
new_groupByZs0144(yy1226, yy1227, yy1228) → new_groupByZs0147(yy1226, Succ(yy1227), yy1228)
new_groupByZs0161(yy679, yy680, yy681, yy682, yy683) → new_groupByZs0160(yy679, yy680, Succ(yy681), yy682, yy683)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Zero)), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Zero)), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs062(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy311)
new_span2Zs23(yy766, []) → []
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → new_groupByZs059(Succ(Succ(Succ(Succ(Zero)))), yy31010000000, yy311)
new_span2Zs124(yy384, yy385, yy3880, yy3881, yy419) → yy419
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Zero)), :(:%(Neg(Succ(Zero)), Neg(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Zero)), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), :(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), yy311)) → new_span2Zs30(yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Zero)), :(:%(Neg(Zero), Neg(Succ(yy310100))), yy311)) → :(:%(Neg(Zero), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs070(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_groupByZs069(yy1038, yy1039) → new_groupByZs014(Zero, Neg(Succ(yy1038)), Zero, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy1039)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_span2Zs42(yy311)
new_groupByZs0138(yy1112, yy1113) → new_groupByZs0162(yy1112, yy1113, new_span2Ys25(yy1112, yy1113), new_span2Zs23(yy1112, yy1113))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(yy310100))), yy311)
new_groupByZs0111(yy1074, yy1075) → :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy1075)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(yy30000000))))), yy301), :(:%(Neg(Succ(Succ(Succ(Zero)))), yy3101), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), yy3101), yy311)
new_groupByZs037(yy1198, yy1199, yy1200) → :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy1199)))))))), yy1200)
new_groupByZs011(Neg(Succ(Succ(yy63000))), yy64, Neg(Succ(Zero)), yy66) → new_groupByZs013(Zero, Neg(Succ(Succ(yy63000))), yy64, Neg(Succ(Zero)), yy66)
new_groupByZs0(:%(Neg(Zero), Pos(Zero)), :(:%(Pos(Zero), Pos(Succ(yy310100))), yy311)) → :(:%(Pos(Zero), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy301), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy3101), yy311)) → new_groupByZs040(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy301, yy3101, yy311, new_asAs2(yy301, yy3101))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → new_groupByZs057(yy3010000000, yy31010000000, yy311, new_primEqNat0(yy3010000000, yy31010000000))
new_groupByZs0(:%(Pos(Zero), Neg(Zero)), :(:%(Pos(Zero), Pos(Succ(yy310100))), yy311)) → :(:%(Pos(Zero), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy301), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310000000000)))))))), yy3101), yy311)) → new_groupByZs097(yy301, yy310000000000, yy3101, yy311, new_asAs1(yy301, yy3101))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Zero)), :(:%(Neg(Succ(Zero)), Neg(Zero)), yy311)) → new_groupByZs06(Zero, Neg(Zero), Zero, Neg(Zero), yy311)
new_groupByZs0148(yy498, yy499) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy499)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), yy311)) → new_groupByZs014(Succ(Succ(Succ(Zero))), Neg(Succ(Zero)), Succ(Succ(Succ(Zero))), Neg(Succ(Zero)), yy311)
new_span2Ys26(yy612, []) → []
new_span2Ys22([]) → []
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Zero)), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs086(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_span2Zs116(yy760, yy7610, yy7611, True) → new_span2Zs117(yy760, yy7610, yy7611, new_span2Ys23(yy760, yy7611), new_span2Zs19(yy760, yy7611))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), yy311)) → new_span2Zs31(yy311)
new_groupByZs042(yy301, yy310000000000, yy3101, yy311, True) → new_groupByZs014(Succ(Succ(Succ(Succ(Succ(Zero))))), yy301, Succ(Succ(Succ(Succ(Succ(Succ(yy310000000000)))))), yy3101, yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Zero)), yy311)) → new_groupByZs06(Succ(Succ(Zero)), Pos(Zero), Succ(Succ(Zero)), Neg(Zero), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs00(Succ(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(yy3010000))))), :(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs0118(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy311)
new_groupByZs041(yy172, yy173, yy174, yy175, True) → new_groupByZs014(yy172, yy173, Succ(Succ(Succ(Succ(Succ(Zero))))), yy174, yy175)
new_groupByZs061(yy30100000000, yy310100000000, yy311, True) → new_groupByZs014(Zero, Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))))), Zero, Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000)))))))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), yy301), :(:%(Neg(Succ(Succ(Succ(Succ(yy310000000))))), yy3101), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(yy310000000))))), yy3101), yy311)
new_span2Zs111(yy720, yy7210, yy7211, True) → new_span2Zs123(yy720, yy7210, yy7211, new_span2Ys21(yy720, yy7211), new_span2Zs24(yy720, yy7211))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))), yy311)) → new_groupByZs06(Succ(Zero), Pos(Succ(Zero)), Succ(Zero), Pos(Succ(Zero)), yy311)
new_groupByZs08(yy301000000000, yy3101000000000, yy311, True) → new_groupByZs010(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy3101000000000, yy311, new_span2Ys21(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311), new_span2Zs24(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Zero))), :(:%(Pos(Zero), Pos(Succ(Succ(yy3101000)))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0163(yy301000000000, yy3101000000000, yy311, yy1308, yy1307) → yy1307
new_groupByZs0(yy30, []) → []
new_groupByZs065(yy705, yy706) → :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy706)
new_span2Ys122(yy3110, yy3111, True) → new_span2Ys113(yy3110, yy3111, new_span2Ys27(yy3111), new_span2Zs41(yy3111))
new_groupByZs0(:%(Pos(Zero), Pos(Zero)), :(:%(Pos(Zero), Pos(Zero)), yy311)) → new_span2Zs33(yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), :(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), yy311)) → new_span2Zs30(yy311)
new_span2Zs125(yy408, yy409, yy4120, yy4121, False) → :(yy4120, yy4121)
new_groupByZs0121(yy748, yy749) → new_groupByZs06(Zero, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Zero, Pos(Succ(yy748)), yy749)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Zero))), :(:%(Pos(Zero), Pos(Succ(Zero))), yy311)) → new_span2Zs40(yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(yy30100))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(yy31010)), yy311)) → new_groupByZs0107(yy30100, Succ(Succ(Zero)), yy31010, yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs0139(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy301), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy3101), yy311)) → new_groupByZs041(Succ(Succ(Succ(Succ(Succ(Zero))))), yy301, yy3101, yy311, new_asAs2(yy301, yy3101))
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs0(yy8000, yy9000, yy81, yy91)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), yy311)) → new_groupByZs014(Succ(Zero), Pos(Succ(Succ(Zero))), Succ(Zero), Pos(Succ(Succ(Zero))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy301), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy3101), yy311)) → new_groupByZs011(yy301, Succ(Succ(Succ(Succ(Zero)))), yy3101, yy311)
new_groupByZs0142(yy301000000000, yy3101000000000, yy311, False) → new_groupByZs0144(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy3101000000000, yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Zero)), :(:%(Neg(Zero), Neg(Zero)), yy311)) → new_span2Zs22(yy311)
new_span2Ys23(yy652, []) → []
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(yy3010000))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs068(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → new_groupByZs044(yy30100000, yy310100000, yy311, new_primEqNat0(yy30100000, yy310100000))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs0129(yy1214, yy1215, yy1216) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy1215)))))))))), yy1216)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs011(Pos(Succ(Succ(yy63000))), yy64, Pos(Succ(Zero)), yy66) → new_groupByZs013(Zero, Pos(Succ(Succ(yy63000))), yy64, Pos(Succ(Zero)), yy66)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs014(Succ(Zero), Pos(Succ(Succ(Succ(Zero)))), Succ(Zero), Pos(Succ(Succ(Succ(Zero)))), yy311)
new_span2Zs33([]) → []
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(yy30100))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(yy31010)), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(yy31010)), yy311)
new_groupByZs07(yy1302, yy1303, yy1304) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(yy1303)))))), yy1304)
new_groupByZs076(yy453, yy454) → new_span2Zs28(yy454)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs025(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311)
new_span2Zs127(yy384, yy385, yy3880, yy3881, False) → :(yy3880, yy3881)
new_span2Ys20([]) → []
new_span2Zs125(yy408, yy409, yy4120, yy4121, True) → new_span2Zs115(yy408, yy409, yy4120, yy4121, new_span2Zs47(yy408, yy409, yy4121))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(yy301000)))), :(:%(Neg(Zero), Neg(Succ(Zero))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Zero))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs067(yy30100000000, yy310100000000, yy311, True) → new_groupByZs014(Zero, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))))), Zero, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000)))))))), yy311)
new_span2Zs34(:(yy3110, yy3111)) → new_span2Zs118(Succ(Succ(Succ(Zero))), yy3110, yy3111, new_esEs(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy3110))
new_span2Ys115(yy612, yy6130, yy6131, yy1335, yy1334) → :(yy6130, yy1335)
new_asAs0(Succ(yy80000), Zero, yy81, yy91) → new_asAs1(yy81, yy91)
new_asAs0(Zero, Succ(yy90000), yy81, yy91) → new_asAs1(yy81, yy91)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0133(yy486, yy487) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy487)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Zero)), :(:%(Pos(Succ(Succ(Zero))), Pos(Zero)), yy311)) → new_groupByZs014(Succ(Zero), Pos(Zero), Succ(Zero), Pos(Zero), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_groupByZs06(Zero, Neg(Succ(Succ(Succ(Succ(Zero))))), Zero, Neg(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs064(Succ(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0142(yy301000000000, yy3101000000000, yy311, True) → new_groupByZs0167(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy3101000000000, yy311, new_span2Ys23(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311), new_span2Zs19(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs082(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311)
new_groupByZs0165(yy1126, yy1127, yy1280, yy1279) → yy1279
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Zero)), :(:%(Pos(Succ(Zero)), Pos(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Zero)), Pos(Succ(yy310100))), yy311)
new_groupByZs0115(yy1202, yy1203, yy1204) → :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy1203)))))))), yy1204)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs066(yy708, yy709) → new_groupByZs014(Zero, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Zero, Pos(Succ(yy708)), yy709)
new_groupByZs050(yy301000000, yy3101000000, yy311, False) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs081(yy726, yy727) → new_span2Zs44(yy726, yy727)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), yy311)) → new_span2Zs38(yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(yy310100))), yy311)
new_span2Ys117(yy606, yy6070, yy6071, yy1333, yy1332) → :(yy6070, yy1333)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(yy301000)))), :(:%(Pos(Zero), Pos(Succ(Zero))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Zero))), yy311)
new_groupByZs062(yy1028, yy1029) → :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy1029)
new_groupByZs011(Pos(Zero), yy64, Neg(Zero), yy66) → new_groupByZs014(Succ(Succ(Succ(Succ(Zero)))), Pos(Zero), yy64, Neg(Zero), yy66)
new_groupByZs011(Neg(Zero), yy64, Pos(Zero), yy66) → new_groupByZs014(Succ(Succ(Succ(Succ(Zero)))), Neg(Zero), yy64, Pos(Zero), yy66)
new_groupByZs0(:%(Neg(Zero), Pos(Zero)), :(:%(Neg(Zero), Pos(Succ(yy310100))), yy311)) → :(:%(Neg(Zero), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_span2Zs42(yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Zero)), :(:%(Pos(Zero), Neg(Succ(yy310100))), yy311)) → :(:%(Pos(Zero), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Zero)), :(:%(Neg(Zero), Pos(Succ(yy310100))), yy311)) → :(:%(Neg(Zero), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Zero)), :(:%(Pos(Zero), Neg(Succ(yy310100))), yy311)) → :(:%(Pos(Zero), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), yy311)) → new_groupByZs014(Succ(Succ(Succ(Zero))), Pos(Zero), Succ(Succ(Succ(Zero))), Neg(Zero), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))), yy311)) → new_groupByZs06(Succ(Succ(Zero)), Neg(Succ(Zero)), Succ(Succ(Zero)), Neg(Succ(Zero)), yy311)
new_groupByZs039(yy300000000000, yy301, yy3100000000000, yy3101, yy311, True) → new_groupByZs014(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy300000000000))))))), yy301, Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3100000000000))))))), yy3101, yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy300000000000))))))))), yy301), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3100000000000))))))))), yy3101), yy311)) → new_groupByZs093(yy300000000000, yy301, yy3100000000000, yy3101, yy311, new_asAs0(yy300000000000, yy3100000000000, yy301, yy3101))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs056(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_span2Ys21(yy606, []) → []
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(yy3010000))))), :(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(yy3010000))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(yy3010000))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Zero))), :(:%(Neg(Zero), Neg(Succ(Succ(yy3101000)))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs0152(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy311)
new_span2Ys118(yy652, yy6530, yy6531, True) → new_span2Ys119(yy652, yy6530, yy6531, new_span2Ys23(yy652, yy6531), new_span2Zs19(yy652, yy6531))
new_asAs2(Pos(Succ(yy8100)), Pos(Succ(yy9100))) → new_primEqNat0(yy8100, yy9100)
new_span2Ys124(yy3110, yy3111, True) → new_span2Ys123(yy3110, yy3111, new_span2Ys24(yy3111), new_span2Zs25(yy3111))
new_span2Zs119(yy3110, yy3111, yy148, yy147) → yy147
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(yy300000))), yy301), :(:%(Neg(Succ(Zero)), yy3101), yy311)) → :(:%(Neg(Succ(Zero)), yy3101), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), yy301), :(:%(Pos(Succ(Succ(Succ(yy31000000)))), yy3101), yy311)) → :(:%(Pos(Succ(Succ(Succ(yy31000000)))), yy3101), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Zero)), :(:%(Pos(Succ(Succ(Zero))), Neg(Zero)), yy311)) → new_groupByZs014(Succ(Zero), Neg(Zero), Succ(Zero), Neg(Zero), yy311)
new_span2Zs37(:(yy3110, yy3111)) → new_span2Zs116(Succ(Succ(Succ(Zero))), yy3110, yy3111, new_esEs(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy3110))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Zero)), :(:%(Neg(Succ(Succ(Zero))), Pos(Zero)), yy311)) → new_groupByZs06(Succ(Zero), Pos(Zero), Succ(Zero), Pos(Zero), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_span2Ys114(yy658, yy6590, yy6591, False) → []
new_groupByZs0131(yy757, yy758) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy758)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Zero)), :(:%(Pos(Succ(Zero)), Pos(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Zero)), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy301), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31000000000))))))), yy3101), yy311)) → new_groupByZs013(Zero, yy301, Succ(Succ(Succ(Succ(Succ(yy31000000000))))), yy3101, yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), yy311)) → new_groupByZs06(Succ(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), yy311)
new_span2Zs46(yy384, yy385, []) → []
new_span2Ys27(:(yy3110, yy3111)) → new_span2Ys122(yy3110, yy3111, new_esEs(:%(Neg(Zero), Pos(Zero)), yy3110))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(yy310100))), yy311)
new_span2Ys112(yy3110, yy3111, True) → new_span2Ys120(yy3110, yy3111, new_span2Ys22(yy3111), new_span2Zs33(yy3111))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))), yy311)) → new_groupByZs014(Succ(Succ(Zero)), Neg(Succ(Succ(Zero))), Succ(Succ(Zero)), Neg(Succ(Succ(Zero))), yy311)
new_span2Zs110(yy3110, yy3111, yy159, yy158) → yy158
new_groupByZs0(:%(Pos(Zero), yy301), :(:%(Pos(Succ(yy310000)), yy3101), yy311)) → :(:%(Pos(Succ(yy310000)), yy3101), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Zero))), :(:%(Neg(Succ(Zero)), Pos(Succ(Zero))), yy311)) → new_groupByZs06(Zero, Pos(Succ(Zero)), Zero, Pos(Succ(Zero)), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(yy3010000))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → new_groupByZs0106(yy301000000, yy3101000000, yy311, new_primEqNat0(yy301000000, yy3101000000))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Zero)), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(yy310100))), yy311)
new_span2Ys26(yy612, :(yy6130, yy6131)) → new_span2Ys121(yy612, yy6130, yy6131, new_esEs(:%(Pos(Zero), Neg(Succ(yy612))), yy6130))
new_groupByZs0100(Neg(Zero), yy74, Neg(Succ(yy7500)), yy76) → new_groupByZs099(Zero, Neg(Zero), yy74, Neg(Succ(yy7500)), yy76)
new_groupByZs0143(yy1116, yy1117) → new_groupByZs0147(yy1116, Zero, yy1117)
new_span2Ys116(yy606, yy6070, yy6071, True) → new_span2Ys117(yy606, yy6070, yy6071, new_span2Ys21(yy606, yy6071), new_span2Zs24(yy606, yy6071))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(yy300000000)))))), yy301), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), yy3101), yy311)) → new_groupByZs013(yy300000000, yy301, Succ(Succ(Succ(Zero))), yy3101, yy311)
new_groupByZs0145(yy1119, yy1120) → new_groupByZs021(yy1119, yy1120, new_span2Ys23(yy1119, yy1120), new_span2Zs19(yy1119, yy1120))
new_groupByZs084(yy732, yy733) → new_span2Zs24(yy732, yy733)
new_groupByZs061(yy30100000000, yy310100000000, yy311, False) → new_groupByZs063(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy310100000000, yy311)
new_groupByZs028(yy1230, yy1231, yy1232) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy1231)))))))))), yy1232)
new_groupByZs070(yy711, yy712) → :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy712)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))), yy311)) → new_groupByZs06(Succ(Succ(Zero)), Neg(Succ(Succ(Zero))), Succ(Succ(Zero)), Neg(Succ(Succ(Zero))), yy311)
new_span2Zs43(:(yy3110, yy3111)) → new_span2Zs113(Succ(Zero), yy3110, yy3111, new_esEs(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), yy3110))
new_groupByZs035(yy218, yy219, yy220) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), yy220)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs06(Succ(Zero), Pos(Succ(Succ(Succ(Zero)))), Succ(Zero), Pos(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Zero)), :(:%(Neg(Succ(Succ(Zero))), Neg(Zero)), yy311)) → new_groupByZs06(Succ(Zero), Pos(Zero), Succ(Zero), Neg(Zero), yy311)
new_span2Zs30([]) → []
new_groupByZs0(:%(Pos(Zero), Neg(Zero)), :(:%(Neg(Zero), Pos(Zero)), yy311)) → new_span2Zs25(yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Zero)), :(:%(Pos(Zero), Neg(Zero)), yy311)) → new_span2Zs25(yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(yy30100))), :(:%(Pos(Zero), Neg(yy31010)), yy311)) → :(:%(Pos(Zero), Neg(yy31010)), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(yy30100))), :(:%(Neg(Zero), Pos(yy31010)), yy311)) → :(:%(Neg(Zero), Pos(yy31010)), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_groupByZs06(Succ(Zero), Neg(Succ(Succ(Succ(Succ(Zero))))), Succ(Zero), Neg(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs014(Succ(Zero), Neg(Succ(Succ(Succ(Zero)))), Succ(Zero), Neg(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_span2Zs20(yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(yy30100))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(yy31010)), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(yy31010)), yy311)
new_groupByZs010(yy1314, yy1315, yy1316, yy1317, yy1318) → yy1318
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(yy30100))), :(:%(Pos(Succ(Zero)), Pos(yy31010)), yy311)) → :(:%(Pos(Succ(Zero)), Pos(yy31010)), yy311)
new_groupByZs075(yy450, yy451) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy451)
new_groupByZs0166(yy937, yy938, yy939) → new_groupByZs099(Zero, Pos(Succ(Zero)), yy937, Pos(Succ(yy938)), yy939)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → new_groupByZs0115(Succ(Succ(Succ(Succ(Zero)))), yy31010000000, yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Zero)), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Zero)), yy311)) → new_groupByZs06(Succ(Succ(Zero)), Neg(Zero), Succ(Succ(Zero)), Neg(Zero), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs030(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Zero)), :(:%(Neg(Succ(Zero)), Pos(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Zero)), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs0126(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Zero)), :(:%(Neg(Zero), Neg(Succ(yy310100))), yy311)) → :(:%(Neg(Zero), Neg(Succ(yy310100))), yy311)
new_span2Zs35(:(yy3110, yy3111)) → new_span2Zs118(Succ(Zero), yy3110, yy3111, new_esEs(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), yy3110))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(yy3010000))))), :(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Zero)), :(:%(Neg(Succ(Succ(Zero))), Pos(Zero)), yy311)) → new_groupByZs06(Succ(Zero), Neg(Zero), Succ(Zero), Pos(Zero), yy311)
new_groupByZs072(yy301000000000, yy3101000000000, yy311, False) → new_groupByZs016(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy3101000000000, yy311)
new_span2Zs29([]) → []
new_groupByZs0(:%(Pos(Zero), Neg(Succ(yy30100))), :(:%(Neg(Zero), Neg(Zero)), yy311)) → :(:%(Neg(Zero), Neg(Zero)), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(yy3010000))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))), yy311)) → :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(yy3010000))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))), yy311)) → :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))), yy311)
new_groupByZs056(yy1017, yy1018) → new_groupByZs014(Succ(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Succ(Zero), Pos(Succ(yy1017)), yy1018)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(yy30000000))))), yy301), :(:%(Pos(Succ(Succ(Succ(Zero)))), yy3101), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), yy3101), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(yy3101000)))), yy311)) → new_groupByZs0109(Zero, Succ(yy3101000), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Zero))), :(:%(Pos(Zero), Pos(Succ(Succ(yy3101000)))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Neg(Succ(yy30000)), yy301), :(:%(Pos(yy31000), yy3101), yy311)) → :(:%(Pos(yy31000), yy3101), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_groupByZs06(Succ(Zero), Pos(Succ(Succ(Succ(Succ(Zero))))), Succ(Zero), Pos(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0159(yy1105, yy1106, yy1272, yy1271) → yy1271
new_groupByZs071(yy714, yy715) → new_groupByZs014(Zero, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Zero, Neg(Succ(yy714)), yy715)
new_span2Ys20(:(yy3110, yy3111)) → new_span2Ys110(yy3110, yy3111, new_esEs(:%(Neg(Zero), Neg(Zero)), yy3110))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(yy301000)))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(yy3101000)))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs081(Succ(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0122(yy572, yy573) → :(:%(Neg(Succ(Zero)), Pos(Succ(yy572))), yy573)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(yy3010000))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), yy311)
new_span2Ys121(yy612, yy6130, yy6131, True) → new_span2Ys115(yy612, yy6130, yy6131, new_span2Ys26(yy612, yy6131), new_span2Zs44(yy612, yy6131))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), yy311)) → new_groupByZs06(Succ(Zero), Pos(Succ(Succ(Zero))), Succ(Zero), Pos(Succ(Succ(Zero))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs0109(Succ(Succ(Succ(yy30100000))), Succ(Succ(Zero)), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), yy311)) → new_groupByZs06(Succ(Succ(Succ(Zero))), Neg(Succ(Zero)), Succ(Succ(Succ(Zero))), Neg(Succ(Zero)), yy311)
new_groupByZs058(yy1021, yy1022) → :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy1022)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs0114(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs0116(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(yy301000)))), :(:%(Pos(Succ(Zero)), Pos(Succ(Zero))), yy311)) → :(:%(Pos(Succ(Zero)), Pos(Succ(Zero))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy300000000000))))))))), yy301), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy3101), yy311)) → new_groupByZs040(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy300000000000))))))), yy301, yy3101, yy311, new_asAs1(yy301, yy3101))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), :(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), yy311)) → new_span2Zs43(yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs073(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311)
new_groupByZs0147(yy941, yy942, yy943) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy942))))))))), yy943)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Zero)), :(:%(Pos(Succ(Zero)), Neg(Zero)), yy311)) → new_groupByZs014(Zero, Pos(Zero), Zero, Neg(Zero), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0152(yy775, yy776) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy776)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(yy30100))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Zero)), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Zero)), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs024(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30000000000)))))))), yy301), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy3101), yy311)) → new_groupByZs041(Succ(Succ(Succ(Succ(Succ(Succ(yy30000000000)))))), yy301, yy3101, yy311, new_asAs1(yy301, yy3101))
new_groupByZs099(yy90, yy91, yy92, yy93, yy94) → :(:%(Neg(Succ(yy92)), yy93), yy94)
new_span2Zs22([]) → []
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(yy30100))), :(:%(Pos(Succ(Succ(Zero))), Neg(yy31010)), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Neg(yy31010)), yy311)
new_groupByZs017(yy301, yy3100000000000, yy3101, yy311, False) → new_groupByZs018(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy301, yy3100000000000, yy3101, yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(yy30100))), :(:%(Pos(Succ(Succ(Zero))), Pos(yy31010)), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Pos(yy31010)), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs091(Succ(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs058(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_groupByZs053(yy3010000000, yy31010000000, yy311, True) → new_groupByZs014(Succ(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000))))))), Succ(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000))))))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0127(yy754, yy755) → new_groupByZs06(Zero, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Zero, Neg(Succ(yy754)), yy755)
new_groupByZs0158(yy301000000000, yy3101000000000, yy311, yy1306, yy1305) → yy1305
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs0131(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy311)
new_groupByZs044(yy30100000, yy310100000, yy311, True) → new_groupByZs014(Succ(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(yy30100000))))), Succ(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(yy310100000))))), yy311)
new_span2Zs111(yy720, yy7210, yy7211, False) → :(yy7210, yy7211)
new_groupByZs096(yy189, yy190, yy191, yy192, True) → new_groupByZs06(yy189, yy190, Succ(Succ(Succ(Succ(Succ(Zero))))), yy191, yy192)
new_span2Zs27(:(yy4600, yy4601)) → new_span2Zs118(Succ(Succ(Succ(Succ(Zero)))), yy4600, yy4601, new_esEs(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy4600))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), yy311)) → new_groupByZs014(Succ(Succ(Zero)), Pos(Zero), Succ(Succ(Zero)), Pos(Zero), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs011(Neg(Succ(Zero)), yy64, Neg(Succ(Succ(yy65000))), yy66) → new_groupByZs013(Zero, Neg(Succ(Zero)), yy64, Neg(Succ(Succ(yy65000))), yy66)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → new_groupByZs061(yy30100000000, yy310100000000, yy311, new_primEqNat0(yy30100000000, yy310100000000))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs06(Succ(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Succ(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs05(yy1098, yy1099) → new_groupByZs06(Zero, Neg(Succ(yy1098)), Zero, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy1099)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs03(yy1123, yy1124) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy1124)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Zero)), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy3000000000))))))), yy301), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy3101), yy311)) → new_groupByZs043(Succ(Succ(Succ(Succ(Succ(yy3000000000))))), yy301, yy3101, yy311)
new_groupByZs011(Pos(Zero), yy64, Pos(Succ(yy6500)), yy66) → new_groupByZs013(Zero, Pos(Zero), yy64, Pos(Succ(yy6500)), yy66)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Zero)), :(:%(Pos(Succ(Zero)), Neg(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Zero)), Neg(Succ(yy310100))), yy311)
new_groupByZs052(yy301000000, yy3101000000, yy311, True) → new_groupByZs014(Succ(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(yy301000000)))))), Succ(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000)))))), yy311)
new_groupByZs057(yy3010000000, yy31010000000, yy311, True) → new_groupByZs014(Succ(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000))))))), Succ(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000))))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(yy3101000)))), yy311)) → new_groupByZs02(Succ(Succ(Succ(Zero))), yy3101000, yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(yy30100))), :(:%(Neg(Succ(Zero)), Neg(Zero)), yy311)) → :(:%(Neg(Succ(Zero)), Neg(Zero)), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs028(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy3101000000000, yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Zero)), :(:%(Neg(Zero), Neg(Zero)), yy311)) → new_span2Zs33(yy311)
new_span2Zs38(:(yy3110, yy3111)) → new_span2Zs116(Succ(Succ(Zero)), yy3110, yy3111, new_esEs(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), yy3110))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), yy311)) → new_groupByZs014(Succ(Succ(Succ(Zero))), Pos(Zero), Succ(Succ(Succ(Zero))), Pos(Zero), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs060(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0117(yy30100000000, yy310100000000, yy311, True) → new_groupByZs06(Zero, Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))))), Zero, Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000)))))))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Zero)), :(:%(Pos(Succ(Zero)), Neg(Zero)), yy311)) → new_groupByZs014(Zero, Neg(Zero), Zero, Neg(Zero), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → new_groupByZs036(yy3010000000, yy31010000000, yy311, new_primEqNat0(yy3010000000, yy31010000000))
new_span2Zs21(:(yy3110, yy3111)) → new_span2Zs113(Succ(Succ(Zero)), yy3110, yy3111, new_esEs(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), yy3110))
new_groupByZs0106(yy301000000, yy3101000000, yy311, False) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs0100(Pos(Succ(Succ(yy73000))), yy74, Pos(Succ(Zero)), yy76) → new_groupByZs099(Zero, Pos(Succ(Succ(yy73000))), yy74, Pos(Succ(Zero)), yy76)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs077(yy301000000000, yy3101000000000, yy311, new_primEqNat0(yy301000000000, yy3101000000000))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Zero))), :(:%(Pos(Zero), Neg(Succ(Zero))), yy311)) → new_span2Zs36(yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(yy30100))), :(:%(Neg(Succ(Succ(Zero))), Neg(Zero)), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Neg(Zero)), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)
new_groupByZs093(yy300000000000, yy301, yy3100000000000, yy3101, yy311, True) → new_groupByZs06(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy300000000000))))))), yy301, Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3100000000000))))))), yy3101, yy311)
new_groupByZs0150(yy301000000000, yy3101000000000, yy311, True) → new_groupByZs0156(yy301000000000, yy3101000000000, yy311, new_span2Ys25(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311), new_span2Zs23(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs0137(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy3101000000000, yy311)
new_span2Zs33(:(yy3110, yy3111)) → new_span2Zs126(yy3110, yy3111, new_esEs(:%(Pos(Zero), Pos(Zero)), yy3110))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs026(yy1059, yy1060, yy1265, yy1264) → yy1264
new_groupByZs045(yy701, yy702, yy703) → :(:%(Pos(Succ(yy701)), Pos(Succ(Succ(Succ(yy702))))), yy703)
new_groupByZs0151(yy1126, yy1127) → new_groupByZs0165(yy1126, yy1127, new_span2Ys25(yy1126, yy1127), new_span2Zs23(yy1126, yy1127))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), yy301), :(:%(Pos(Succ(Succ(Succ(Succ(yy310000000))))), yy3101), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(yy310000000))))), yy3101), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Zero))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(yy3101000)))), yy311)) → :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0170(yy301000000000, yy3101000000000, yy311, yy1294, yy1293) → yy1293
new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs0(yy8000, yy9000, yy81, yy91)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(yy30100))), :(:%(Neg(Zero), Pos(yy31010)), yy311)) → :(:%(Neg(Zero), Pos(yy31010)), yy311)
new_groupByZs014(yy384, yy385, yy386, yy387, yy388) → new_span2Zs46(yy384, yy385, yy388)
new_span2Ys122(yy3110, yy3111, False) → []
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(yy3010000))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(yy3010000))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(yy30100))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), yy311)) → new_groupByZs014(Succ(Zero), Neg(Succ(Succ(Zero))), Succ(Zero), Neg(Succ(Succ(Zero))), yy311)
new_groupByZs0164(yy1066, yy1067, yy1267, yy1266) → yy1266
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Zero)), :(:%(Neg(Succ(Zero)), Pos(Zero)), yy311)) → new_groupByZs06(Zero, Neg(Zero), Zero, Pos(Zero), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs0143(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311)
new_asAs2(Pos(Zero), Pos(Succ(yy9100))) → False
new_asAs2(Pos(Succ(yy8100)), Pos(Zero)) → False
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy301), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy3101), yy311)) → new_groupByZs096(Succ(Succ(Succ(Succ(Succ(Zero))))), yy301, yy3101, yy311, new_asAs2(yy301, yy3101))
new_groupByZs057(yy3010000000, yy31010000000, yy311, False) → new_groupByZs059(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy31010000000, yy311)
new_groupByZs087(yy301000000000, yy3101000000000, yy311, True) → new_groupByZs020(yy301000000000, yy3101000000000, yy311, new_span2Ys26(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311), new_span2Zs44(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311))
new_groupByZs074(yy717, yy718) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy718)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → new_groupByZs0104(yy30100000, yy310100000, yy311, new_primEqNat0(yy30100000, yy310100000))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs016(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy3101000000000, yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Zero))), :(:%(Pos(Succ(Zero)), Neg(Succ(Zero))), yy311)) → new_groupByZs014(Zero, Neg(Succ(Zero)), Zero, Neg(Succ(Zero)), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(yy301000)))), :(:%(Pos(Zero), Pos(Succ(Zero))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Zero))), yy311)
new_groupByZs082(yy1056, yy1057) → new_groupByZs083(yy1056, Zero, yy1057)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs076(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_groupByZs049(yy30100000, yy310100000, yy311, True) → new_groupByZs014(Succ(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(yy30100000))))), Succ(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(yy310100000))))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs064(yy1031, yy1032) → new_groupByZs014(Zero, Pos(Succ(yy1031)), Zero, Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy1032)
new_asAs0(Zero, Zero, yy81, yy91) → new_asAs2(yy81, yy91)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs0120(Succ(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Zero)), :(:%(Pos(Succ(Succ(Zero))), Pos(Zero)), yy311)) → new_groupByZs014(Succ(Zero), Neg(Zero), Succ(Zero), Pos(Zero), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)
new_groupByZs0141(yy495, yy496) → new_span2Zs45(yy496)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(yy30100))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(yy31010)), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(yy31010)), yy311)
new_groupByZs0169(yy73000, yy74, yy75000, yy76, True) → new_groupByZs06(Succ(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(yy73000))), yy74, Pos(Succ(Succ(yy75000))), yy76)
new_groupByZs025(yy1049, yy1050) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy1050)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0100(Neg(Zero), yy74, Neg(Zero), yy76) → new_groupByZs06(Succ(Succ(Succ(Succ(Zero)))), Neg(Zero), yy74, Neg(Zero), yy76)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → new_groupByZs0109(Succ(Succ(Zero)), Succ(Succ(Succ(yy310100000))), yy311)
new_groupByZs0100(Pos(Succ(yy7300)), yy74, Pos(Zero), yy76) → new_groupByZs099(Zero, Pos(Succ(yy7300)), yy74, Pos(Zero), yy76)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(yy301000)))), :(:%(Neg(Succ(Zero)), Pos(Succ(Zero))), yy311)) → :(:%(Neg(Succ(Zero)), Pos(Succ(Zero))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), yy311)) → new_groupByZs06(Succ(Succ(Zero)), Pos(Succ(Zero)), Succ(Succ(Zero)), Pos(Succ(Zero)), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(yy301000)))), :(:%(Pos(Succ(Zero)), Neg(Succ(Zero))), yy311)) → :(:%(Pos(Succ(Zero)), Neg(Succ(Zero))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Zero))), :(:%(Pos(Succ(Zero)), Pos(Succ(Zero))), yy311)) → new_groupByZs014(Zero, Pos(Succ(Zero)), Zero, Pos(Succ(Zero)), yy311)
new_asAs0(Succ(yy80000), Succ(yy90000), yy81, yy91) → new_asAs0(yy80000, yy90000, yy81, yy91)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Zero)), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(yy310100))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(yy310100))), yy311)
new_groupByZs0100(Pos(Succ(yy7300)), yy74, Neg(yy750), yy76) → new_groupByZs099(Zero, Pos(Succ(yy7300)), yy74, Neg(yy750), yy76)
new_groupByZs0100(Neg(Succ(yy7300)), yy74, Pos(yy750), yy76) → new_groupByZs099(Zero, Neg(Succ(yy7300)), yy74, Pos(yy750), yy76)
new_groupByZs089(yy1190, yy1191, yy1192) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy1191)))))))))), yy1192)
new_span2Zs112(yy766, yy7670, yy7671, yy1352, yy1351) → yy1351
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy300000000000))))))))), yy301), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3100000000000))))))))), yy3101), yy311)) → new_groupByZs039(yy300000000000, yy301, yy3100000000000, yy3101, yy311, new_asAs0(yy300000000000, yy3100000000000, yy301, yy3101))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(yy301000)))), :(:%(Neg(Zero), Pos(Succ(Zero))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Zero))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(yy301000)))), :(:%(Pos(Zero), Neg(Succ(Zero))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Zero))), yy311)
new_groupByZs092(yy471, yy472) → new_span2Zs27(yy472)
new_groupByZs02(yy482, yy483, yy484) → :(:%(Neg(Succ(yy482)), Pos(Succ(Succ(yy483)))), yy484)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)
new_groupByZs0100(Neg(Succ(yy7300)), yy74, Neg(Zero), yy76) → new_groupByZs099(Zero, Neg(Succ(yy7300)), yy74, Neg(Zero), yy76)
new_groupByZs0(:%(Neg(Succ(yy30000)), yy301), :(:%(Neg(Zero), yy3101), yy311)) → :(:%(Neg(Zero), yy3101), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(yy3010000))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), yy311)
new_span2Zs42(:(yy3110, yy3111)) → new_span2Zs113(Succ(Succ(Succ(Zero))), yy3110, yy3111, new_esEs(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy3110))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_groupByZs014(Succ(Zero), Neg(Succ(Succ(Succ(Succ(Zero))))), Succ(Zero), Neg(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_groupByZs014(Zero, Pos(Succ(Succ(Succ(Succ(Zero))))), Zero, Pos(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_asAs2(Pos(Zero), Neg(Succ(yy9100))) → False
new_asAs2(Neg(Zero), Pos(Succ(yy9100))) → False
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Zero))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(yy3101000)))), yy311)) → :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0123(yy30100000000, yy310100000000, yy311, False) → new_groupByZs0125(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy310100000000, yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Zero)), :(:%(Neg(Succ(Succ(Zero))), Neg(Zero)), yy311)) → new_groupByZs06(Succ(Zero), Neg(Zero), Succ(Zero), Neg(Zero), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), yy311)) → new_span2Zs29(yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), :(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), yy311)) → new_span2Zs39(yy311)
new_groupByZs0100(Pos(Zero), yy74, Neg(Zero), yy76) → new_groupByZs06(Succ(Succ(Succ(Succ(Zero)))), Pos(Zero), yy74, Neg(Zero), yy76)
new_groupByZs0100(Neg(Zero), yy74, Pos(Zero), yy76) → new_groupByZs06(Succ(Succ(Succ(Succ(Zero)))), Neg(Zero), yy74, Pos(Zero), yy76)
new_span2Ys111(yy3110, yy3111, yy140, yy139) → :(yy3110, yy140)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(yy30100000)))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_groupByZs014(Succ(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), Succ(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_span2Ys124(yy3110, yy3111, False) → []
new_groupByZs040(yy372, yy373, yy374, yy375, False) → new_groupByZs027(yy372, yy373, Zero, yy374, yy375)
new_span2Zs37([]) → []
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(yy3101000)))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(yy3101000)))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(yy3101000)))), yy311)
new_asAs2(Neg(Zero), Neg(Zero)) → True
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Zero))), :(:%(Neg(Zero), Pos(Succ(Succ(yy3101000)))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0109(yy1320, yy1321, yy1322) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(yy1321))), yy1322)
new_groupByZs043(yy58, yy59, yy60, yy61) → :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy60), yy61)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), yy311)) → new_groupByZs06(Succ(Succ(Succ(Zero))), Pos(Zero), Succ(Succ(Succ(Zero))), Pos(Zero), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(yy30100))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), yy311)) → new_groupByZs047(Succ(Succ(Succ(Zero))), yy30100, yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(yy30100))), :(:%(Pos(Zero), Pos(yy31010)), yy311)) → :(:%(Pos(Zero), Pos(yy31010)), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Zero)), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), yy311)) → new_groupByZs014(Succ(Succ(Zero)), Neg(Zero), Succ(Succ(Zero)), Pos(Zero), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs014(Succ(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Succ(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Zero))), :(:%(Neg(Zero), Neg(Succ(Succ(yy3101000)))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(yy3101000)))), yy311)
new_span2Ys22(:(yy3110, yy3111)) → new_span2Ys112(yy3110, yy3111, new_esEs(:%(Pos(Zero), Pos(Zero)), yy3110))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → new_groupByZs052(yy301000000, yy3101000000, yy311, new_primEqNat0(yy301000000, yy3101000000))
new_groupByZs0126(yy751, yy752) → :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy752)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → new_groupByZs0110(Succ(Succ(Succ(Succ(yy3101000000)))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))), yy311)) → new_groupByZs014(Zero, Neg(Succ(Succ(Zero))), Zero, Neg(Succ(Succ(Zero))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs06(Zero, Neg(Succ(Succ(Succ(Zero)))), Zero, Neg(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs074(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0130(yy1105, yy1106) → new_groupByZs0159(yy1105, yy1106, new_span2Ys23(yy1105, yy1106), new_span2Zs19(yy1105, yy1106))
new_groupByZs095(yy301, yy3100000000000, yy3101, yy311, True) → new_groupByZs06(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy301, Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3100000000000))))))), yy3101, yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → new_groupByZs0119(Succ(Succ(Succ(Succ(Succ(Zero))))), yy310100000000, yy311)
new_groupByZs011(Pos(Succ(yy6300)), yy64, Pos(Zero), yy66) → new_groupByZs013(Zero, Pos(Succ(yy6300)), yy64, Pos(Zero), yy66)
new_groupByZs0135(yy301000000000, yy3101000000000, yy311, False) → new_groupByZs0137(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy3101000000000, yy311)
new_span2Zs121(yy3110, yy3111, True) → new_span2Zs129(yy3110, yy3111, new_span2Ys20(yy3111), new_span2Zs22(yy3111))
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → new_groupByZs067(yy30100000000, yy310100000000, yy311, new_primEqNat0(yy30100000000, yy310100000000))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs0124(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy301), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310000000000)))))))), yy3101), yy311)) → new_groupByZs042(yy301, yy310000000000, yy3101, yy311, new_asAs1(yy301, yy3101))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(yy301000000))))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → new_groupByZs050(yy301000000, yy3101000000, yy311, new_primEqNat0(yy301000000, yy3101000000))
new_esEs(:%(Neg(Zero), yy81), :%(Neg(Zero), yy91)) → new_asAs2(yy81, yy91)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs088(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Zero)), yy311)) → new_groupByZs014(Succ(Succ(Zero)), Pos(Zero), Succ(Succ(Zero)), Neg(Zero), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Zero)), :(:%(Neg(Succ(Zero)), Neg(Zero)), yy311)) → new_groupByZs06(Zero, Pos(Zero), Zero, Neg(Zero), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), yy311)) → new_span2Zs21(yy311)
new_span2Ys120(yy3110, yy3111, yy114, yy113) → :(yy3110, yy114)
new_groupByZs036(yy3010000000, yy31010000000, yy311, False) → new_groupByZs037(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy31010000000, yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), yy311)) → new_span2Zs21(yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)
new_groupByZs086(yy465, yy466) → new_span2Zs28(yy466)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_span2Zs34(yy311)
new_span2Zs26(:(yy3110, yy3111)) → new_span2Zs113(Zero, yy3110, yy3111, new_esEs(:%(Neg(Zero), Neg(Succ(Zero))), yy3110))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), yy311)) → new_groupByZs06(Succ(Succ(Zero)), Pos(Zero), Succ(Succ(Zero)), Pos(Zero), yy311)
new_span2Ys24([]) → []
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Zero))), :(:%(Pos(Zero), Neg(Succ(Succ(yy3101000)))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0(:%(Neg(Zero), yy301), :(:%(Pos(Succ(yy310000)), yy3101), yy311)) → :(:%(Pos(Succ(yy310000)), yy3101), yy311)
new_span2Zs29(:(yy3110, yy3111)) → new_span2Zs118(Succ(Succ(Zero)), yy3110, yy3111, new_esEs(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), yy3110))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs0144(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy3101000000000, yy311)
new_span2Zs118(yy726, yy7270, yy7271, True) → new_span2Zs128(yy726, yy7270, yy7271, new_span2Ys26(yy726, yy7271), new_span2Zs44(yy726, yy7271))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(yy30100))), :(:%(Pos(Zero), Pos(Zero)), yy311)) → :(:%(Pos(Zero), Pos(Zero)), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs078(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy3101000000000, yy311)
new_groupByZs06(yy408, yy409, yy410, yy411, yy412) → new_span2Zs47(yy408, yy409, yy412)
new_asAs2(Neg(Succ(yy8100)), Neg(Zero)) → False
new_asAs2(Neg(Zero), Neg(Succ(yy9100))) → False
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs0112(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → new_groupByZs0125(Succ(Succ(Succ(Succ(Succ(Zero))))), yy310100000000, yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(yy300000000)))))), yy301), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), yy3101), yy311)) → new_groupByZs099(yy300000000, yy301, Succ(Succ(Succ(Zero))), yy3101, yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))), yy311)) → new_groupByZs06(Succ(Zero), Neg(Succ(Zero)), Succ(Zero), Neg(Succ(Zero)), yy311)
new_span2Ys113(yy3110, yy3111, yy137, yy136) → :(yy3110, yy137)
new_groupByZs0100(Pos(Zero), yy74, Pos(Succ(yy7500)), yy76) → new_groupByZs099(Zero, Pos(Zero), yy74, Pos(Succ(yy7500)), yy76)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Zero))), :(:%(Neg(Zero), Pos(Succ(Zero))), yy311)) → new_span2Zs40(yy311)
new_groupByZs0123(yy30100000000, yy310100000000, yy311, True) → new_groupByZs06(Zero, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))))), Zero, Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000)))))))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs075(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_span2Zs24(yy720, []) → []
new_groupByZs0104(yy30100000, yy310100000, yy311, False) → new_groupByZs0105(yy30100000, Succ(Succ(Succ(yy310100000))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(yy310100))), yy311)) → new_groupByZs0103(Succ(Succ(Succ(Zero))), yy310100, yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs0149(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_span2Ys25(yy658, :(yy6590, yy6591)) → new_span2Ys114(yy658, yy6590, yy6591, new_esEs(:%(Neg(Zero), Neg(Succ(yy658))), yy6590))
new_groupByZs0118(yy1088, yy1089) → :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy1089)
new_groupByZs079(yy1052, yy1053) → new_groupByZs0157(yy1052, yy1053, new_span2Ys26(yy1052, yy1053), new_span2Zs44(yy1052, yy1053))
new_groupByZs0(:%(Neg(Zero), Neg(Zero)), :(:%(Pos(Zero), Pos(Zero)), yy311)) → new_span2Zs22(yy311)
new_span2Zs48([]) → []
new_span2Ys19(yy658, yy6590, yy6591, yy1342, yy1341) → :(yy6590, yy1342)
new_groupByZs0112(yy1077, yy1078) → new_groupByZs06(Succ(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Succ(Zero), Pos(Succ(yy1077)), yy1078)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs014(Succ(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Succ(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), yy311)
new_span2Ys23(yy652, :(yy6530, yy6531)) → new_span2Ys118(yy652, yy6530, yy6531, new_esEs(:%(Neg(Zero), Pos(Succ(yy652))), yy6530))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs0132(Succ(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0167(yy1324, yy1325, yy1326, yy1327, yy1328) → yy1328
new_span2Zs122(yy3110, yy3111, False) → :(yy3110, yy3111)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs0150(yy301000000000, yy3101000000000, yy311, new_primEqNat0(yy301000000000, yy3101000000000))
new_groupByZs011(Pos(Zero), yy64, Neg(Succ(yy6500)), yy66) → new_groupByZs013(Zero, Pos(Zero), yy64, Neg(Succ(yy6500)), yy66)
new_groupByZs011(Neg(Zero), yy64, Pos(Succ(yy6500)), yy66) → new_groupByZs013(Zero, Neg(Zero), yy64, Pos(Succ(yy6500)), yy66)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs0106(yy301000000, yy3101000000, yy311, True) → new_groupByZs06(Succ(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(yy301000000)))))), Succ(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000)))))), yy311)
new_groupByZs063(yy1166, yy1167, yy1168) → :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy1167))))))))), yy1168)
new_groupByZs0101(yy30100000, yy310100000, yy311, False) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Neg(Zero), yy91)) → new_asAs1(yy81, yy91)
new_groupByZs011(Neg(Succ(Succ(yy63000))), yy64, Neg(Succ(Succ(yy65000))), yy66) → new_groupByZs015(yy63000, yy64, yy65000, yy66, new_primEqNat0(yy63000, yy65000))
new_groupByZs090(yy1066, yy1067) → new_groupByZs0164(yy1066, yy1067, new_span2Ys26(yy1066, yy1067), new_span2Zs44(yy1066, yy1067))
new_groupByZs036(yy3010000000, yy31010000000, yy311, True) → new_groupByZs06(Succ(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000))))))), Succ(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000))))))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs0146(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy311)
new_groupByZs055(yy1158, yy1159, yy1160) → :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy1159)))))))), yy1160)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Zero)), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Zero)), yy311)) → new_groupByZs014(Succ(Succ(Zero)), Neg(Zero), Succ(Succ(Zero)), Neg(Zero), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs0136(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(yy30100))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), yy311)) → new_groupByZs035(Succ(Succ(Succ(Zero))), yy30100, yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs071(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs0151(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0100(Neg(Succ(Zero)), yy74, Neg(Succ(Zero)), yy76) → new_groupByZs06(Succ(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), yy74, Neg(Succ(Zero)), yy76)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(yy301000)))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), yy311)
new_groupByZs052(yy301000000, yy3101000000, yy311, False) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs047(yy213, yy214, yy215) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), yy215)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs080(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy311)
new_groupByZs097(yy301, yy310000000000, yy3101, yy311, False) → new_groupByZs0160(Succ(Succ(Succ(Succ(Succ(Zero))))), yy301, yy310000000000, yy3101, yy311)
new_groupByZs0125(yy1210, yy1211, yy1212) → :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy1211))))))))), yy1212)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(yy30100))), :(:%(Pos(Zero), Neg(yy31010)), yy311)) → :(:%(Pos(Zero), Neg(yy31010)), yy311)
new_groupByZs0100(Pos(Succ(Zero)), yy74, Pos(Succ(Succ(yy75000))), yy76) → new_groupByZs0166(yy74, Succ(yy75000), yy76)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(yy30100))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(yy31010)), yy311)) → new_groupByZs051(yy30100, Succ(Succ(Zero)), yy31010, yy311)
new_groupByZs051(yy183, yy184, yy185, yy186) → :(:%(Pos(Succ(yy184)), Neg(yy185)), yy186)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), yy311)) → new_groupByZs014(Succ(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Succ(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0162(yy1112, yy1113, yy1275, yy1274) → yy1274
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_groupByZs014(Succ(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), Succ(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), yy311)) → new_groupByZs06(Succ(Succ(Succ(Zero))), Neg(Zero), Succ(Succ(Succ(Zero))), Neg(Zero), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Zero)), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(yy310100))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(yy310100))), yy311)
new_span2Zs47(yy408, yy409, []) → []
new_span2Zs43([]) → []
new_span2Zs129(yy3110, yy3111, yy162, yy161) → yy161
new_groupByZs034(yy720, yy721) → new_span2Zs24(yy720, yy721)
new_span2Ys24(:(yy3110, yy3111)) → new_span2Ys124(yy3110, yy3111, new_esEs(:%(Pos(Zero), Neg(Zero)), yy3110))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(yy301000)))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(yy301000)))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), yy311)
new_esEs(:%(Neg(Succ(yy8000)), yy81), :%(Pos(yy900), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Pos(Succ(yy8000)), yy81), :%(Neg(yy900), yy91)) → new_asAs1(yy81, yy91)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → new_groupByZs0123(yy30100000000, yy310100000000, yy311, new_primEqNat0(yy30100000000, yy310100000000))
new_span2Zs19(yy760, []) → []
new_groupByZs0(:%(Neg(Zero), Neg(Succ(yy30100))), :(:%(Pos(Zero), Neg(Zero)), yy311)) → :(:%(Pos(Zero), Neg(Zero)), yy311)
new_span2Zs47(yy408, yy409, :(yy4120, yy4121)) → new_span2Zs125(yy408, yy409, yy4120, yy4121, new_esEs(:%(Neg(Succ(yy408)), yy409), yy4120))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)
new_span2Zs44(yy726, :(yy7270, yy7271)) → new_span2Zs118(yy726, yy7270, yy7271, new_esEs(:%(Pos(Zero), Neg(Succ(yy726))), yy7270))
new_span2Zs21([]) → []
new_groupByZs015(yy63000, yy64, yy65000, yy66, True) → new_groupByZs014(Succ(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(yy63000))), yy64, Neg(Succ(Succ(yy65000))), yy66)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_span2Zs34(yy311)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)) → :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs0138(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(yy3010000))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))), yy311)) → new_groupByZs0109(Succ(Succ(yy3010000)), Succ(Zero), yy311)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Zero)), :(:%(Pos(Succ(Zero)), Pos(Zero)), yy311)) → new_groupByZs014(Zero, Pos(Zero), Zero, Pos(Zero), yy311)
new_groupByZs0155(yy507, yy508) → new_span2Zs45(yy508)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(yy30100))), :(:%(Neg(Zero), Neg(Zero)), yy311)) → :(:%(Neg(Zero), Neg(Zero)), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), :(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), yy311)) → new_span2Zs35(yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs0130(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), yy311)
new_groupByZs0108(yy301000000, yy3101000000, yy311, True) → new_groupByZs06(Succ(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(yy301000000)))))), Succ(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000)))))), yy311)
new_span2Zs113(yy766, yy7670, yy7671, False) → :(yy7670, yy7671)
new_groupByZs0(:%(Neg(Zero), Pos(Zero)), :(:%(Neg(Zero), Pos(Zero)), yy311)) → new_span2Zs41(yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Zero)), :(:%(Pos(Zero), Neg(Zero)), yy311)) → new_span2Zs41(yy311)
new_asAs2(Pos(Zero), Neg(Zero)) → True
new_asAs2(Neg(Zero), Pos(Zero)) → True
new_groupByZs050(yy301000000, yy3101000000, yy311, True) → new_groupByZs014(Succ(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(yy301000000)))))), Succ(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000)))))), yy311)
new_groupByZs044(yy30100000, yy310100000, yy311, False) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(yy310100000)))))), yy311)
new_span2Zs115(yy408, yy409, yy4120, yy4121, yy425) → yy425
new_groupByZs0132(yy760, yy761) → new_span2Zs19(yy760, yy761)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs0141(Succ(Succ(Succ(Succ(Zero)))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(yy3101000)))), yy311)) → new_groupByZs046(Succ(Succ(Succ(Zero))), yy3101000, yy311)
new_span2Ys25(yy658, []) → []
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(yy3010000000)))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy311)) → new_groupByZs0148(Succ(Succ(Succ(Succ(Succ(yy3010000000))))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Zero)), :(:%(Pos(Zero), Neg(Succ(yy310100))), yy311)) → :(:%(Pos(Zero), Neg(Succ(yy310100))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Zero)), :(:%(Neg(Zero), Pos(Succ(yy310100))), yy311)) → :(:%(Neg(Zero), Pos(Succ(yy310100))), yy311)
new_groupByZs0120(yy1091, yy1092) → new_groupByZs06(Zero, Pos(Succ(yy1091)), Zero, Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy1092)
new_groupByZs030(yy745, yy746) → :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy746)
new_groupByZs032(yy1045, yy1046, yy1259, yy1258) → yy1258
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Zero))), :(:%(Pos(Zero), Neg(Succ(Zero))), yy311)) → new_span2Zs26(yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30000000000)))))))), yy301), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), yy3101), yy311)) → new_groupByZs096(Succ(Succ(Succ(Succ(Succ(Succ(yy30000000000)))))), yy301, yy3101, yy311, new_asAs1(yy301, yy3101))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs05(Succ(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs059(yy1162, yy1163, yy1164) → :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy1163)))))))), yy1164)
new_groupByZs011(Pos(Zero), yy64, Pos(Zero), yy66) → new_groupByZs014(Succ(Succ(Succ(Succ(Zero)))), Pos(Zero), yy64, Pos(Zero), yy66)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy3101000000000)))))))))), yy311)) → new_groupByZs072(yy301000000000, yy3101000000000, yy311, new_primEqNat0(yy301000000000, yy3101000000000))
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy310100000000))))))))), yy311)) → new_groupByZs063(Succ(Succ(Succ(Succ(Succ(Zero))))), yy310100000000, yy311)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000)))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), yy311)) → new_groupByZs03(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy301000000000))))))), yy311)
new_esEs(:%(Neg(Zero), yy81), :%(Pos(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_esEs(:%(Pos(Zero), yy81), :%(Neg(Succ(yy9000)), yy91)) → new_asAs1(yy81, yy91)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0137(yy1220, yy1221, yy1222) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy1221)))))))))), yy1222)
new_groupByZs022(yy729, yy730) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy730)
new_span2Zs126(yy3110, yy3111, True) → new_span2Zs119(yy3110, yy3111, new_span2Ys22(yy3111), new_span2Zs33(yy3111))
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(yy31010000))))), yy311)) → :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(yy31010000))))), yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), yy311)) → new_groupByZs022(Succ(Succ(Succ(Succ(Succ(Succ(yy30100000000)))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)) → :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(yy31010000000)))))))), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(yy310100))), yy311)) → new_groupByZs048(Succ(Succ(Succ(Zero))), yy310100, yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(yy3101000)))), yy311)) → :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(yy3101000)))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(yy30100))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), yy311)) → :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(yy30100))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Zero)), yy311)) → :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Zero)), yy311)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), yy311)) → new_groupByZs014(Succ(Zero), Pos(Succ(Succ(Succ(Succ(Zero))))), Succ(Zero), Pos(Succ(Succ(Succ(Succ(Zero))))), yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Zero)), :(:%(Pos(Zero), Pos(Zero)), yy311)) → new_span2Zs41(yy311)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), yy311)) → new_span2Zs31(yy311)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)) → :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(yy3101000000))))))), yy311)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(yy30100))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(yy31010)), yy311)) → :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(yy31010)), yy311)

The set Q consists of the following terms:

new_groupByZs031(x0, x1)
new_span2Zs129(x0, x1, x2, x3)
new_groupByZs0100(Pos(Succ(Zero)), x0, Pos(Succ(Succ(x1))), x2)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(x0))))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(x0)))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), x1))
new_groupByZs0142(x0, x1, x2, False)
new_groupByZs098(x0, x1, x2, x3)
new_groupByZs0150(x0, x1, x2, True)
new_span2Zs120(x0, x1, x2, x3)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), :(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Zero)), :(:%(Pos(Succ(Succ(Zero))), Pos(Zero)), x0))
new_span2Zs32([])
new_groupByZs095(x0, x1, x2, x3, False)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(x0)))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), x1))
new_span2Zs23(x0, [])
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), x0))
new_groupByZs041(x0, x1, x2, x3, True)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1))
new_groupByZs0112(x0, x1)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Zero))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))), x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Zero))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(x0))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), x1))
new_span2Zs29([])
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), x1))
new_groupByZs0135(x0, x1, x2, True)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(x0)))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(x0)))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), x1))
new_span2Zs48([])
new_primEqNat0(Zero, Succ(x0))
new_esEs(:%(Neg(Zero), x0), :%(Pos(Zero), x1))
new_esEs(:%(Pos(Zero), x0), :%(Neg(Zero), x1))
new_groupByZs0120(x0, x1)
new_span2Zs24(x0, [])
new_span2Zs113(x0, x1, x2, True)
new_groupByZs064(x0, x1)
new_groupByZs074(x0, x1)
new_groupByZs0(:%(Neg(Zero), Neg(Zero)), :(:%(Neg(Zero), Neg(Succ(x0))), x1))
new_groupByZs039(x0, x1, x2, x3, x4, False)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(x0))), x1))
new_span2Zs128(x0, x1, x2, x3, x4)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(x0)))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs0(x0, [])
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), x1))
new_groupByZs081(x0, x1)
new_groupByZs0100(Neg(Zero), x0, Neg(Succ(x1)), x2)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(x0))), :(:%(Neg(Zero), Pos(Zero)), x1))
new_span2Ys123(x0, x1, x2, x3)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x0))
new_groupByZs0113(x0, x1, x2, False)
new_groupByZs0(:%(Pos(Succ(x0)), x1), :(:%(Pos(Zero), x2), x3))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x0)))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x0)))))), x1))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(x0))), :(:%(Neg(Succ(Succ(Zero))), Pos(x1)), x2))
new_groupByZs0100(Pos(Succ(x0)), x1, Neg(x2), x3)
new_groupByZs0100(Neg(Succ(x0)), x1, Pos(x2), x3)
new_groupByZs094(x0, x1, x2, x3, True)
new_groupByZs043(x0, x1, x2, x3)
new_span2Zs25([])
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1))
new_groupByZs0152(x0, x1)
new_groupByZs071(x0, x1)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), :(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Zero)), :(:%(Neg(Succ(Succ(Zero))), Neg(Zero)), x0))
new_groupByZs038(x0, x1)
new_groupByZs011(Pos(Zero), x0, Pos(Zero), x1)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))), x1))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))), x1))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Zero))), :(:%(Pos(Zero), Neg(Succ(Zero))), x0))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Zero)), :(:%(Neg(Succ(Zero)), Pos(Zero)), x0))
new_groupByZs049(x0, x1, x2, True)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), x0))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))), x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), x0))
new_groupByZs047(x0, x1, x2)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1)))))))))), x2))
new_groupByZs0(:%(Neg(Zero), x0), :(:%(Neg(Succ(x1)), x2), x3))
new_groupByZs0116(x0, x1)
new_groupByZs0(:%(Neg(Zero), Neg(Zero)), :(:%(Pos(Zero), Neg(Zero)), x0))
new_groupByZs0(:%(Neg(Zero), Neg(Zero)), :(:%(Neg(Zero), Pos(Zero)), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x0))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Zero)), :(:%(Pos(Succ(Zero)), Pos(Succ(x0))), x1))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x0))
new_groupByZs015(x0, x1, x2, x3, False)
new_span2Ys114(x0, x1, x2, True)
new_groupByZs0131(x0, x1)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Zero)), x0))
new_groupByZs065(x0, x1)
new_groupByZs0100(Neg(Succ(Zero)), x0, Neg(Succ(Zero)), x1)
new_span2Zs125(x0, x1, x2, x3, False)
new_span2Zs127(x0, x1, x2, x3, False)
new_groupByZs0163(x0, x1, x2, x3, x4)
new_groupByZs0126(x0, x1)
new_groupByZs0158(x0, x1, x2, x3, x4)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x1))))))), x2))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1))))))), x2))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(x0)))))), x1), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), x2), x3))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(x0)))), x1))
new_span2Ys113(x0, x1, x2, x3)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x0))))), x1))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(x0))), :(:%(Neg(Zero), Pos(x1)), x2))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(x0))), :(:%(Pos(Zero), Neg(x1)), x2))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), x1))
new_span2Zs29(:(x0, x1))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x0))))), x1))
new_groupByZs0(:%(Neg(Zero), Neg(Zero)), :(:%(Pos(Zero), Pos(Succ(x0))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), x0))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), x0))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(x0))))), x1))
new_groupByZs056(x0, x1)
new_groupByZs035(x0, x1, x2)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Zero)), :(:%(Pos(Succ(Zero)), Neg(Succ(x0))), x1))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Zero)), :(:%(Neg(Succ(Zero)), Pos(Succ(x0))), x1))
new_primEqNat0(Zero, Zero)
new_groupByZs0101(x0, x1, x2, True)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(x0))))), :(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x0))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x0))))), x1))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))), x1))
new_span2Zs42([])
new_groupByZs050(x0, x1, x2, False)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), x0), :(:%(Pos(Succ(Succ(Succ(x1)))), x2), x3))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs0100(Pos(Zero), x0, Pos(Zero), x1)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x1))
new_groupByZs040(x0, x1, x2, x3, True)
new_span2Zs126(x0, x1, False)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(x0))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Zero)), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(x0))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), x1))
new_groupByZs0153(x0, x1)
new_groupByZs0169(x0, x1, x2, x3, True)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Zero)), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(x0))), x1))
new_span2Zs31(:(x0, x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x0))
new_groupByZs0125(x0, x1, x2)
new_span2Zs41([])
new_span2Ys120(x0, x1, x2, x3)
new_groupByZs039(x0, x1, x2, x3, x4, True)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), x1))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x0))
new_span2Ys112(x0, x1, True)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), x1), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x2), x3))
new_groupByZs040(x0, x1, x2, x3, False)
new_span2Zs39(:(x0, x1))
new_span2Zs24(x0, :(x1, x2))
new_groupByZs0(:%(Pos(Zero), Pos(Zero)), :(:%(Pos(Zero), Pos(Zero)), x0))
new_span2Ys25(x0, :(x1, x2))
new_groupByZs093(x0, x1, x2, x3, x4, False)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(x0))))), :(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), x1))
new_groupByZs088(x0, x1)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(x0))), :(:%(Pos(Zero), Pos(x1)), x2))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(x0)))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(x0)))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x0))
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(x0))), :(:%(Pos(Succ(Zero)), Pos(Zero)), x1))
new_groupByZs0154(x0, x1)
new_span2Zs38(:(x0, x1))
new_groupByZs0171(x0, x1, x2, x3, False)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), x1))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), x1))
new_groupByZs029(x0, x1)
new_groupByZs0114(x0, x1)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), x0), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1), x2))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(x0)))), x1))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), x0))
new_asAs2(Neg(Succ(x0)), Neg(Zero))
new_span2Zs116(x0, x1, x2, False)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x0)))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x1)))))), x2))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x0)))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x1)))))), x2))
new_groupByZs09(x0, x1, x2)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), x1), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2))))))))), x3), x4))
new_asAs2(Pos(Zero), Pos(Zero))
new_span2Zs115(x0, x1, x2, x3, x4)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(x0)))), :(:%(Pos(Zero), Neg(Succ(Zero))), x1))
new_groupByZs041(x0, x1, x2, x3, False)
new_groupByZs0100(Pos(Zero), x0, Pos(Succ(x1)), x2)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), x0), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(x1)))))), x2), x3))
new_span2Zs117(x0, x1, x2, x3, x4)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(x0)))))), x1))
new_span2Zs39([])
new_groupByZs0132(x0, x1)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Zero)), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(x0))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Zero)), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(x0))), x1))
new_span2Ys27(:(x0, x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), x0))
new_groupByZs0105(x0, x1, x2)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Zero)), x0))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), x0))
new_span2Zs118(x0, x1, x2, False)
new_groupByZs069(x0, x1)
new_groupByZs037(x0, x1, x2)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x0), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1), x2))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x1))))))), x2))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x0)))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x0)))))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), x1))
new_groupByZs028(x0, x1, x2)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Succ(x1)), x2))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(x0))), :(:%(Neg(Zero), Neg(Zero)), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), x1), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x2))))))))), x3), x4))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), x1))
new_groupByZs011(Neg(Zero), x0, Neg(Zero), x1)
new_groupByZs090(x0, x1)
new_groupByZs078(x0, x1, x2)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x0)))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Zero)), :(:%(Pos(Succ(Zero)), Neg(Succ(x0))), x1))
new_groupByZs082(x0, x1)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(x0)))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(x0)))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(x0))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1)))))))))), x2))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))), :(:%(Neg(Succ(Zero)), Neg(Succ(Zero))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(x0))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(x1)), x2))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x0), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1), x2))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x0)))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x1)))))), x2))
new_groupByZs0100(Pos(Succ(Succ(x0))), x1, Pos(Succ(Zero)), x2)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x0), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1))))))))), x2), x3))
new_groupByZs089(x0, x1, x2)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Zero))), :(:%(Pos(Succ(Zero)), Pos(Succ(Zero))), x0))
new_span2Ys122(x0, x1, True)
new_groupByZs0111(x0, x1)
new_groupByZs0(:%(Pos(Succ(Succ(x0))), x1), :(:%(Pos(Succ(Zero)), x2), x3))
new_groupByZs091(x0, x1)
new_groupByZs0(:%(Pos(Zero), Neg(Zero)), :(:%(Neg(Zero), Neg(Zero)), x0))
new_groupByZs0(:%(Neg(Zero), Pos(Zero)), :(:%(Neg(Zero), Neg(Zero)), x0))
new_groupByZs011(Neg(Succ(x0)), x1, Neg(Zero), x2)
new_span2Zs30(:(x0, x1))
new_groupByZs0148(x0, x1)
new_groupByZs057(x0, x1, x2, True)
new_groupByZs05(x0, x1)
new_groupByZs0128(x0, x1, x2, False)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Zero)), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(x0))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(x0)))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x0), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1), x2))
new_groupByZs042(x0, x1, x2, x3, False)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(x0))), x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Zero)), :(:%(Pos(Succ(Zero)), Pos(Zero)), x0))
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), x0))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), x0))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Zero))), :(:%(Pos(Zero), Pos(Succ(Zero))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Zero)), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(x0))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), x0))
new_primEqNat0(Succ(x0), Zero)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), x0))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), x0))
new_groupByZs086(x0, x1)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(x0)))), x1), :(:%(Pos(Succ(Succ(Zero))), x2), x3))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), x1))
new_groupByZs061(x0, x1, x2, False)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(x0))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), x1))
new_groupByZs0161(x0, x1, x2, x3, x4)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Zero))), :(:%(Neg(Zero), Pos(Succ(Zero))), x0))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Zero)), :(:%(Neg(Succ(Zero)), Pos(Zero)), x0))
new_groupByZs083(x0, x1, x2)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Zero)), :(:%(Pos(Succ(Zero)), Neg(Zero)), x0))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Zero))), :(:%(Pos(Zero), Neg(Succ(Zero))), x0))
new_groupByZs0168(x0, x1, x2, x3, x4)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), x0), :(:%(Neg(Succ(Succ(Succ(x1)))), x2), x3))
new_groupByZs0157(x0, x1, x2, x3)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(x0)))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))), x1))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), :(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), x0))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), :(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), x0))
new_groupByZs0(:%(Neg(Zero), Neg(Zero)), :(:%(Neg(Zero), Neg(Zero)), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Zero)), :(:%(Pos(Succ(Succ(Zero))), Neg(Zero)), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Zero)), :(:%(Neg(Succ(Succ(Zero))), Pos(Zero)), x0))
new_groupByZs0123(x0, x1, x2, True)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Zero))), :(:%(Neg(Zero), Neg(Succ(Succ(x0)))), x1))
new_groupByZs023(x0, x1)
new_groupByZs042(x0, x1, x2, x3, True)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Zero))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))), x1))
new_span2Zs19(x0, [])
new_groupByZs0(:%(Pos(Zero), Neg(Zero)), :(:%(Pos(Zero), Neg(Succ(x0))), x1))
new_groupByZs0(:%(Pos(Zero), Neg(Zero)), :(:%(Neg(Zero), Pos(Succ(x0))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Zero)), :(:%(Pos(Zero), Neg(Succ(x0))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Zero)), :(:%(Neg(Zero), Pos(Succ(x0))), x1))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), x0))
new_groupByZs092(x0, x1)
new_groupByZs059(x0, x1, x2)
new_groupByZs0143(x0, x1)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), x0))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(x0))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(x1)), x2))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(x0))), :(:%(Neg(Zero), Pos(x1)), x2))
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))), x1))
new_groupByZs024(x0, x1)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), x0))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))), x0))
new_groupByZs0149(x0, x1)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs014(x0, x1, x2, x3, x4)
new_groupByZs00(x0, x1)
new_groupByZs077(x0, x1, x2, True)
new_groupByZs036(x0, x1, x2, True)
new_span2Zs21(:(x0, x1))
new_groupByZs0139(x0, x1)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x0), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1))))))), x2), x3))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(x0))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(x1)), x2))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(x0))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Zero)), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(x0))), x1))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(x0))), :(:%(Neg(Succ(Zero)), Neg(x1)), x2))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1))
new_groupByZs0104(x0, x1, x2, True)
new_span2Zs114(x0, x1, True)
new_groupByZs0(:%(Pos(Zero), Pos(Zero)), :(:%(Neg(Zero), Neg(Succ(x0))), x1))
new_span2Zs40(:(x0, x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(x0)))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs011(Pos(Zero), x0, Pos(Succ(x1)), x2)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x0), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1)))))))), x2), x3))
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs068(x0, x1)
new_span2Zs45([])
new_span2Zs126(x0, x1, True)
new_groupByZs0121(x0, x1)
new_span2Ys111(x0, x1, x2, x3)
new_groupByZs03(x0, x1)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x0)))))), x1))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(x0))), :(:%(Neg(Succ(Zero)), Pos(Zero)), x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(x0))), :(:%(Pos(Succ(Zero)), Neg(Zero)), x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), x1))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), x1))
new_span2Ys19(x0, x1, x2, x3, x4)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(x0)))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x0), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), x1), x2))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Zero)), :(:%(Neg(Succ(Succ(Zero))), Neg(Zero)), x0))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), :(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), x0))
new_groupByZs058(x0, x1)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(x0))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(x0))), x1))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))), :(:%(Neg(Succ(Zero)), Pos(Succ(Zero))), x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))), :(:%(Pos(Succ(Zero)), Neg(Succ(Zero))), x1))
new_span2Ys118(x0, x1, x2, True)
new_asAs2(Pos(Zero), Neg(Succ(x0)))
new_asAs2(Neg(Zero), Pos(Succ(x0)))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x0))
new_groupByZs046(x0, x1, x2)
new_groupByZs055(x0, x1, x2)
new_groupByZs0141(x0, x1)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1)))))))), x2))
new_groupByZs010(x0, x1, x2, x3, x4)
new_groupByZs0170(x0, x1, x2, x3, x4)
new_groupByZs013(x0, x1, x2, x3, x4)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(x0))), :(:%(Neg(Zero), Neg(x1)), x2))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(x0))), :(:%(Pos(Succ(Succ(Zero))), Pos(Zero)), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(x0)))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), x1))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), x1))
new_span2Zs34([])
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Zero)), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(x0))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Zero)), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(x0))), x1))
new_groupByZs097(x0, x1, x2, x3, False)
new_span2Zs27(:(x0, x1))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))), x0))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))), x0))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(x0))), :(:%(Pos(Zero), Pos(Zero)), x1))
new_groupByZs025(x0, x1)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(x0))))), x1))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), x1))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Zero)), :(:%(Neg(Succ(Zero)), Pos(Succ(x0))), x1))
new_span2Ys115(x0, x1, x2, x3, x4)
new_span2Zs26(:(x0, x1))
new_span2Zs118(x0, x1, x2, True)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), x1))
new_span2Ys116(x0, x1, x2, False)
new_groupByZs016(x0, x1, x2)
new_groupByZs0113(x0, x1, x2, True)
new_groupByZs0109(x0, x1, x2)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), x0))
new_span2Zs43([])
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), x1), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x2), x3))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Zero))), :(:%(Neg(Succ(Zero)), Neg(Succ(Zero))), x0))
new_groupByZs0(:%(Neg(Zero), x0), :(:%(Pos(Succ(x1)), x2), x3))
new_span2Zs20(:(x0, x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x0)))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), x1))
new_groupByZs051(x0, x1, x2, x3)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(x0)))))), x1))
new_span2Zs19(x0, :(x1, x2))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Zero))), :(:%(Pos(Zero), Pos(Succ(Succ(x0)))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(x0))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(x1)), x2))
new_span2Ys121(x0, x1, x2, True)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(x0))))), :(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), x1))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(x0))))), :(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(x0))), x1))
new_groupByZs06(x0, x1, x2, x3, x4)
new_groupByZs08(x0, x1, x2, True)
new_asAs2(Pos(Zero), Pos(Succ(x0)))
new_span2Ys24([])
new_groupByZs0107(x0, x1, x2, x3)
new_groupByZs017(x0, x1, x2, x3, True)
new_span2Zs30([])
new_groupByZs052(x0, x1, x2, True)
new_groupByZs0135(x0, x1, x2, False)
new_span2Ys117(x0, x1, x2, x3, x4)
new_groupByZs0(:%(Pos(Zero), Neg(Zero)), :(:%(Pos(Zero), Pos(Succ(x0))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Zero)), :(:%(Pos(Zero), Pos(Succ(x0))), x1))
new_groupByZs0117(x0, x1, x2, False)
new_groupByZs0(:%(Neg(Succ(Succ(x0))), x1), :(:%(Neg(Succ(Zero)), x2), x3))
new_span2Zs48(:(x0, x1))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1))
new_span2Zs35([])
new_groupByZs087(x0, x1, x2, False)
new_span2Zs37([])
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x0))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(x0)))), :(:%(Neg(Zero), Pos(Succ(Zero))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(x0))), x1))
new_groupByZs0164(x0, x1, x2, x3)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), x1))
new_span2Zs28([])
new_span2Zs45(:(x0, x1))
new_asAs0(Zero, Zero, x0, x1)
new_groupByZs072(x0, x1, x2, False)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(x0))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(x0))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x0))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x0))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), x1))
new_groupByZs0100(Neg(Succ(Succ(x0))), x1, Neg(Succ(Zero)), x2)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(x0))), :(:%(Neg(Succ(Zero)), Pos(x1)), x2))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x0))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x0))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), x0), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(x1)))))), x2), x3))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x0)))))), x1))
new_groupByZs0100(Neg(Succ(x0)), x1, Neg(Zero), x2)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x0)))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x0))
new_span2Zs47(x0, x1, :(x2, x3))
new_span2Ys121(x0, x1, x2, False)
new_groupByZs097(x0, x1, x2, x3, True)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x0)))))), x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))), :(:%(Pos(Succ(Zero)), Pos(Succ(Zero))), x1))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1)))))))))), x2))
new_groupByZs0119(x0, x1, x2)
new_span2Ys118(x0, x1, x2, False)
new_groupByZs075(x0, x1)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1)))))))))), x2))
new_span2Ys23(x0, :(x1, x2))
new_groupByZs015(x0, x1, x2, x3, True)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(x0))))), :(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(x0)))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(x0)))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Zero)), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), x0))
new_groupByZs0(:%(Neg(Zero), Neg(Zero)), :(:%(Pos(Zero), Neg(Succ(x0))), x1))
new_groupByZs0(:%(Neg(Zero), Neg(Zero)), :(:%(Neg(Zero), Pos(Succ(x0))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), x1))
new_groupByZs0133(x0, x1)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), x1), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x2), x3))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1))
new_groupByZs050(x0, x1, x2, True)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(x0))), x1))
new_groupByZs011(Neg(Succ(Zero)), x0, Neg(Succ(Succ(x1))), x2)
new_span2Zs36([])
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1))
new_span2Ys20([])
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(x0)))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(x0)))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), x1))
new_span2Zs125(x0, x1, x2, x3, True)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x1))
new_span2Zs122(x0, x1, False)
new_groupByZs0147(x0, x1, x2)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1))
new_groupByZs094(x0, x1, x2, x3, False)
new_span2Zs123(x0, x1, x2, x3, x4)
new_groupByZs0142(x0, x1, x2, True)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), x0))
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs0115(x0, x1, x2)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(x0)))))), x1), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), x2), x3))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(x0))), :(:%(Neg(Succ(Succ(Zero))), Neg(x1)), x2))
new_groupByZs0166(x0, x1, x2)
new_esEs(:%(Neg(Zero), x0), :%(Neg(Zero), x1))
new_span2Zs40([])
new_groupByZs066(x0, x1)
new_groupByZs0100(Pos(Succ(Zero)), x0, Pos(Succ(Zero)), x1)
new_asAs2(Pos(Succ(x0)), Pos(Succ(x1)))
new_groupByZs063(x0, x1, x2)
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Succ(x2)), x3))
new_groupByZs0167(x0, x1, x2, x3, x4)
new_groupByZs0123(x0, x1, x2, False)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Zero)), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(x0))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(x0))), :(:%(Pos(Succ(Zero)), Pos(x1)), x2))
new_groupByZs096(x0, x1, x2, x3, False)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x0))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x0))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x0))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1))))))))), x2))
new_groupByZs021(x0, x1, x2, x3)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(x0)))), :(:%(Neg(Zero), Neg(Succ(Zero))), x1))
new_groupByZs0100(Neg(Succ(Zero)), x0, Neg(Succ(Succ(x1))), x2)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(x0))))), x1))
new_groupByZs095(x0, x1, x2, x3, True)
new_groupByZs02(x0, x1, x2)
new_groupByZs011(Pos(Succ(Zero)), x0, Pos(Succ(Zero)), x1)
new_groupByZs0122(x0, x1)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), :(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Zero)), :(:%(Pos(Succ(Succ(Zero))), Pos(Zero)), x0))
new_span2Zs21([])
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))), x0))
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))), x0))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), x1))
new_groupByZs07(x0, x1, x2)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(x0))))), :(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), x1))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), x1))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), x1))
new_groupByZs0169(x0, x1, x2, x3, False)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), x1))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Zero))), :(:%(Neg(Zero), Pos(Succ(Zero))), x0))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1)))))))))), x2))
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Zero)), :(:%(Pos(Succ(Zero)), Neg(Zero)), x0))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), x1))
new_span2Ys112(x0, x1, False)
new_groupByZs096(x0, x1, x2, x3, True)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(x0))))), x1))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Zero)), :(:%(Neg(Succ(Zero)), Neg(Succ(x0))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(x0))))), x1))
new_groupByZs061(x0, x1, x2, True)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), x1))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))), x1))
new_groupByZs0(:%(Neg(Succ(x0)), x1), :(:%(Pos(x2), x3), x4))
new_groupByZs0102(x0, x1, x2)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(x0))))), x1), :(:%(Pos(Succ(Succ(Succ(Zero)))), x2), x3))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(x0))), :(:%(Pos(Zero), Neg(x1)), x2))
new_groupByZs049(x0, x1, x2, False)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1))))))))), x2))
new_groupByZs0134(x0, x1)
new_groupByZs0155(x0, x1)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(x0)))), x1))
new_groupByZs04(x0, x1)
new_groupByZs073(x0, x1)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1)))))))))), x2))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1)))))))))), x2))
new_span2Ys116(x0, x1, x2, True)
new_groupByZs034(x0, x1)
new_groupByZs0(:%(Pos(Zero), Pos(Zero)), :(:%(Neg(Zero), Neg(Zero)), x0))
new_groupByZs0156(x0, x1, x2, x3, x4)
new_span2Zs34(:(x0, x1))
new_groupByZs0127(x0, x1)
new_groupByZs067(x0, x1, x2, True)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Zero)), :(:%(Neg(Succ(Zero)), Neg(Zero)), x0))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Zero))), :(:%(Neg(Zero), Neg(Succ(Zero))), x0))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Pos(Zero), x2))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(x0))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x0))))), x1))
new_span2Zs44(x0, [])
new_groupByZs0129(x0, x1, x2)
new_asAs0(Succ(x0), Zero, x1, x2)
new_span2Zs111(x0, x1, x2, True)
new_groupByZs0159(x0, x1, x2, x3)
new_span2Zs110(x0, x1, x2, x3)
new_span2Ys114(x0, x1, x2, False)
new_groupByZs019(x0, x1)
new_span2Zs38([])
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(x0)))))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(x0))), :(:%(Neg(Zero), Neg(x1)), x2))
new_groupByZs0(:%(Neg(Succ(x0)), x1), :(:%(Neg(Zero), x2), x3))
new_groupByZs011(Neg(Succ(Succ(x0))), x1, Neg(Succ(Zero)), x2)
new_span2Zs111(x0, x1, x2, False)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(x0)))))), x1))
new_span2Zs47(x0, x1, [])
new_span2Zs116(x0, x1, x2, True)
new_groupByZs011(Neg(Zero), x0, Neg(Succ(x1)), x2)
new_groupByZs0150(x0, x1, x2, False)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x0)))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x0), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1))))))))), x2), x3))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))), x0))
new_groupByZs011(Pos(Zero), x0, Neg(Succ(x1)), x2)
new_groupByZs011(Neg(Zero), x0, Pos(Succ(x1)), x2)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(x0))), :(:%(Pos(Succ(Zero)), Neg(x1)), x2))
new_span2Zs35(:(x0, x1))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Zero))), :(:%(Neg(Zero), Neg(Succ(Zero))), x0))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Zero)), :(:%(Neg(Succ(Zero)), Neg(Zero)), x0))
new_primEqNat0(Succ(x0), Succ(x1))
new_groupByZs011(Neg(Succ(Zero)), x0, Neg(Succ(Zero)), x1)
new_esEs(:%(Neg(Succ(x0)), x1), :%(Pos(x2), x3))
new_esEs(:%(Pos(Succ(x0)), x1), :%(Neg(x2), x3))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), x1))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Zero))), :(:%(Neg(Succ(Zero)), Pos(Succ(Zero))), x0))
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Zero))), :(:%(Pos(Succ(Zero)), Neg(Succ(Zero))), x0))
new_asAs2(Neg(Zero), Neg(Zero))
new_span2Zs22([])
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(x0))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), x1))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1))
new_groupByZs067(x0, x1, x2, False)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))), x0))
new_groupByZs044(x0, x1, x2, True)
new_groupByZs070(x0, x1)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x0))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))), x1))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(x0))))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(x0))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), x0), :(:%(Pos(Succ(Succ(Succ(Succ(x1))))), x2), x3))
new_groupByZs0118(x0, x1)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(x0))))), :(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), x1))
new_groupByZs053(x0, x1, x2, True)
new_groupByZs044(x0, x1, x2, False)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x0)))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x0)))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero)))))), x1))
new_groupByZs0(:%(Pos(Zero), x0), :(:%(Pos(Succ(x1)), x2), x3))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), x1), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x2), x3))
new_groupByZs087(x0, x1, x2, True)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs0162(x0, x1, x2, x3)
new_span2Ys110(x0, x1, True)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(x0)))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(x0)))), x1))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), x1))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), x0))
new_groupByZs011(Neg(Succ(x0)), x1, Pos(x2), x3)
new_groupByZs011(Pos(Succ(x0)), x1, Neg(x2), x3)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1))))))), x2))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Zero)), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(x0))), x1))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x0))
new_span2Zs121(x0, x1, True)
new_groupByZs027(x0, x1, x2, x3, x4)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1))
new_span2Zs26([])
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x0), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1)))))))), x2), x3))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Zero)), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Zero)), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), x0))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(x0))), :(:%(Neg(Zero), Neg(Zero)), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(x0))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(x0))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), x1))
new_span2Zs23(x0, :(x1, x2))
new_groupByZs076(x0, x1)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), x1))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), x1))
new_span2Zs20([])
new_span2Ys124(x0, x1, False)
new_span2Zs127(x0, x1, x2, x3, True)
new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Succ(x2)), x3))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), x0))
new_groupByZs0137(x0, x1, x2)
new_groupByZs0103(x0, x1, x2)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(x0))), :(:%(Pos(Succ(Succ(Zero))), Pos(x1)), x2))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Zero)), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(x0))), x1))
new_groupByZs0146(x0, x1)
new_span2Zs122(x0, x1, True)
new_span2Ys21(x0, :(x1, x2))
new_span2Zs114(x0, x1, False)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), x1))
new_groupByZs011(Neg(Zero), x0, Pos(Zero), x1)
new_groupByZs011(Pos(Zero), x0, Neg(Zero), x1)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Zero))), :(:%(Pos(Zero), Neg(Succ(Succ(x0)))), x1))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x0))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(x0)))))), x1))
new_groupByZs0(:%(Pos(Zero), Neg(Zero)), :(:%(Neg(Zero), Neg(Succ(x0))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Zero)), :(:%(Neg(Zero), Neg(Succ(x0))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(x0))), x1))
new_groupByZs060(x0, x1)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x0), :(:%(Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1), x2))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1))
new_groupByZs01(x0, x1)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(x0)))), :(:%(Neg(Zero), Pos(Succ(Zero))), x1))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(x0)))), :(:%(Pos(Zero), Neg(Succ(Zero))), x1))
new_asAs2(Neg(Zero), Neg(Succ(x0)))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Zero))), :(:%(Pos(Zero), Neg(Succ(Succ(x0)))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Zero))), :(:%(Neg(Zero), Pos(Succ(Succ(x0)))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x0)))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x0)))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), x1))
new_groupByZs020(x0, x1, x2, x3, x4)
new_groupByZs036(x0, x1, x2, False)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), x1))
new_asAs0(Zero, Succ(x0), x1, x2)
new_span2Zs43(:(x0, x1))
new_groupByZs0130(x0, x1)
new_groupByZs093(x0, x1, x2, x3, x4, True)
new_esEs(:%(Neg(Zero), x0), :%(Neg(Succ(x1)), x2))
new_asAs2(Pos(Succ(x0)), Pos(Zero))
new_groupByZs022(x0, x1)
new_groupByZs0106(x0, x1, x2, True)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(x0)))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))), x1))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(x0))), :(:%(Pos(Zero), Pos(Zero)), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(x0)))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), x1))
new_groupByZs0171(x0, x1, x2, x3, True)
new_groupByZs0(:%(Pos(Zero), Pos(Zero)), :(:%(Pos(Zero), Neg(Succ(x0))), x1))
new_groupByZs0(:%(Pos(Zero), Pos(Zero)), :(:%(Neg(Zero), Pos(Succ(x0))), x1))
new_groupByZs079(x0, x1)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(x0)))), :(:%(Pos(Zero), Pos(Succ(Zero))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), :(:%(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1)))))))), x2))
new_groupByZs0100(Pos(Succ(Succ(x0))), x1, Pos(Succ(Succ(x2))), x3)
new_span2Zs121(x0, x1, False)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(x0))), :(:%(Pos(Zero), Neg(Zero)), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(x0))), :(:%(Neg(Zero), Pos(Zero)), x1))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(x0)))))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(x0)))))), x1))
new_groupByZs0104(x0, x1, x2, False)
new_esEs(:%(Neg(Succ(x0)), x1), :%(Neg(Zero), x2))
new_groupByZs053(x0, x1, x2, False)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Zero)), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), x0))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), x1))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), x1))
new_groupByZs0(:%(Neg(Zero), Neg(Zero)), :(:%(Pos(Zero), Pos(Zero)), x0))
new_span2Zs27([])
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero)))))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero))))), x0))
new_span2Ys26(x0, [])
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs0106(x0, x1, x2, False)
new_span2Zs113(x0, x1, x2, False)
new_groupByZs011(Pos(Succ(Zero)), x0, Pos(Succ(Succ(x1))), x2)
new_groupByZs017(x0, x1, x2, x3, False)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(x0))))), x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Zero)), :(:%(Pos(Succ(Zero)), Pos(Succ(x0))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Zero)), :(:%(Pos(Zero), Pos(Zero)), x0))
new_groupByZs0(:%(Pos(Zero), Neg(Zero)), :(:%(Pos(Zero), Pos(Zero)), x0))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), x1))
new_span2Zs124(x0, x1, x2, x3, x4)
new_span2Ys22(:(x0, x1))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), x0))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(x0)))), :(:%(Neg(Zero), Neg(Succ(Zero))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs033(x0, x1, x2)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), x1))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(x0)))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(x0))), x1))
new_groupByZs011(Pos(Succ(Succ(x0))), x1, Pos(Succ(Zero)), x2)
new_esEs(:%(Pos(Zero), x0), :%(Pos(Zero), x1))
new_groupByZs030(x0, x1)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Zero)), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Zero)), x0))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), x0))
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), x0))
new_groupByZs026(x0, x1, x2, x3)
new_groupByZs0145(x0, x1)
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Zero)), :(:%(Pos(Succ(Zero)), Pos(Zero)), x0))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Zero))), :(:%(Pos(Zero), Pos(Succ(Zero))), x0))
new_groupByZs0144(x0, x1, x2)
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), x1))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(x0))))), :(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), x0), :(:%(Neg(Succ(Succ(Succ(Succ(x1))))), x2), x3))
new_groupByZs072(x0, x1, x2, True)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(x0))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(x1)), x2))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(x0)))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs0101(x0, x1, x2, False)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x0)))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x1)))))), x2))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x0))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), x1))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), x1))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))), x0))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))), x0))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(x0)))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Succ(x0))), :(:%(Pos(Succ(Succ(Zero))), Neg(x1)), x2))
new_groupByZs062(x0, x1)
new_groupByZs0151(x0, x1)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x1))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Zero))), :(:%(Neg(Zero), Pos(Succ(Succ(x0)))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(x0)))), x1))
new_groupByZs077(x0, x1, x2, False)
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Zero)), :(:%(Neg(Succ(Zero)), Neg(Succ(x0))), x1))
new_asAs2(Pos(Zero), Neg(Zero))
new_asAs2(Neg(Zero), Pos(Zero))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), x1))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Zero))), :(:%(Neg(Zero), Neg(Succ(Succ(x0)))), x1))
new_groupByZs057(x0, x1, x2, False)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), x1))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1)))))))))), x2))
new_groupByZs0128(x0, x1, x2, True)
new_groupByZs08(x0, x1, x2, False)
new_groupByZs045(x0, x1, x2)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(x0))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(x1)), x2))
new_groupByZs0165(x0, x1, x2, x3)
new_span2Ys110(x0, x1, False)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(x0))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Zero)), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(x0))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Zero)), x1))
new_span2Zs112(x0, x1, x2, x3, x4)
new_span2Zs33(:(x0, x1))
new_span2Ys119(x0, x1, x2, x3, x4)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), x1))
new_span2Ys25(x0, [])
new_groupByZs085(x0, x1)
new_groupByZs012(x0, x1, x2, x3, False)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(x0)))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs0100(Neg(Zero), x0, Pos(Succ(x1)), x2)
new_groupByZs0100(Pos(Zero), x0, Neg(Succ(x1)), x2)
new_groupByZs0160(x0, x1, x2, x3, x4)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero)))))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), x0))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x1))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(x0))))), x1))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1))
new_groupByZs011(Neg(Succ(Succ(x0))), x1, Neg(Succ(Succ(x2))), x3)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x0))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), x1))
new_span2Zs42(:(x0, x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero)))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1)))))))), x2))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1)))))))), x2))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x0))))), x1))
new_groupByZs0138(x0, x1)
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(x0))), :(:%(Neg(Succ(Zero)), Neg(Zero)), x1))
new_span2Ys24(:(x0, x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(x0))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(x1)), x2))
new_span2Ys124(x0, x1, True)
new_span2Ys22([])
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), x0), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1))))))), x2), x3))
new_groupByZs0108(x0, x1, x2, False)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), x0))
new_groupByZs011(Pos(Succ(Succ(x0))), x1, Pos(Succ(Succ(x2))), x3)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(x0))), :(:%(Pos(Zero), Pos(x1)), x2))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), x1))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Zero)))))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Zero)), :(:%(Neg(Zero), Pos(Zero)), x0))
new_groupByZs0(:%(Neg(Zero), Pos(Zero)), :(:%(Pos(Zero), Neg(Zero)), x0))
new_groupByZs0(:%(Pos(Zero), Neg(Zero)), :(:%(Pos(Zero), Neg(Zero)), x0))
new_groupByZs0(:%(Pos(Zero), Neg(Zero)), :(:%(Neg(Zero), Pos(Zero)), x0))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))), x1))
new_asAs2(Pos(Succ(x0)), Neg(x1))
new_asAs2(Neg(Succ(x0)), Pos(x1))
new_groupByZs0(:%(Pos(Zero), Pos(Zero)), :(:%(Neg(Zero), Pos(Zero)), x0))
new_groupByZs0(:%(Pos(Zero), Pos(Zero)), :(:%(Pos(Zero), Neg(Zero)), x0))
new_span2Zs119(x0, x1, x2, x3)
new_groupByZs052(x0, x1, x2, False)
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), x1))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x1))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))), x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))), x1))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))), x1))
new_groupByZs0117(x0, x1, x2, True)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Zero))), :(:%(Pos(Zero), Pos(Succ(Succ(x0)))), x1))
new_asAs0(Succ(x0), Succ(x1), x2, x3)
new_groupByZs0(:%(Pos(Zero), x0), :(:%(Neg(Succ(x1)), x2), x3))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x1))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(x0))), :(:%(Pos(Zero), Neg(Zero)), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x0))
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))), x1))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x0)))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x0))
new_groupByZs0(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Zero)))))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), x1), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), x2), x3))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x0))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x0))))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(x0))), :(:%(Neg(Succ(Succ(Zero))), Pos(Zero)), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(x0))), :(:%(Pos(Succ(Succ(Zero))), Neg(Zero)), x1))
new_groupByZs0100(Pos(Succ(x0)), x1, Pos(Zero), x2)
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(x0))), :(:%(Neg(Succ(Succ(Zero))), Neg(Zero)), x1))
new_groupByZs032(x0, x1, x2, x3)
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(x0))))), x1))
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Zero)))))), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), x0))
new_span2Zs44(x0, :(x1, x2))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero)))), x0))
new_groupByZs012(x0, x1, x2, x3, True)
new_groupByZs0(:%(Neg(Succ(Succ(Succ(x0)))), x1), :(:%(Neg(Succ(Succ(Zero))), x2), x3))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), x0))
new_groupByZs084(x0, x1)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Zero)), x0))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), x0))
new_groupByZs0100(Pos(Zero), x0, Neg(Zero), x1)
new_groupByZs0100(Neg(Zero), x0, Pos(Zero), x1)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))), x1))
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1))))))))), x2))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x1))))))))), x2))
new_groupByZs0136(x0, x1)
new_groupByZs080(x0, x1)
new_span2Ys27([])
new_span2Zs41(:(x0, x1))
new_span2Zs25(:(x0, x1))
new_groupByZs0(:%(Pos(Succ(Zero)), x0), :(:%(Pos(Succ(Succ(x1))), x2), x3))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))))), x1))
new_span2Zs22(:(x0, x1))
new_groupByZs0100(Neg(Succ(Succ(x0))), x1, Neg(Succ(Succ(x2))), x3)
new_span2Zs46(x0, x1, :(x2, x3))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x0))))))), x1), :(:%(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), x2), x3))
new_groupByZs011(Pos(Succ(x0)), x1, Pos(Zero), x2)
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x0))))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero)))))), x1))
new_span2Zs31([])
new_groupByZs0(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x0))
new_groupByZs0(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), :(:%(Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), x0))
new_groupByZs0100(Neg(Zero), x0, Neg(Zero), x1)
new_groupByZs0(:%(Pos(Succ(Zero)), Pos(Succ(Zero))), :(:%(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))), x1))
new_groupByZs0124(x0, x1)
new_span2Ys21(x0, [])
new_groupByZs0108(x0, x1, x2, True)
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))), :(:%(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x0))))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x0))))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(Zero))))))), x0))
new_span2Zs36(:(x0, x1))
new_span2Ys20(:(x0, x1))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), :(:%(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(Zero))))))), x0))
new_span2Zs33([])
new_span2Ys26(x0, :(x1, x2))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Pos(Zero)), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(x0))), x1))
new_groupByZs0110(x0, x1)
new_span2Zs28(:(x0, x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero)))))), x0))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Zero)))), :(:%(Pos(Zero), Neg(Succ(Succ(Zero)))), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Zero))), Neg(Zero)), :(:%(Neg(Succ(Succ(Zero))), Pos(Zero)), x0))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Succ(x0)))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(x0))))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero)))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(x0))))), x1), :(:%(Neg(Succ(Succ(Succ(Zero)))), x2), x3))
new_groupByZs054(x0, x1)
new_asAs2(Neg(Succ(x0)), Neg(Succ(x1)))
new_span2Ys122(x0, x1, False)
new_groupByZs0(:%(Neg(Succ(Zero)), x0), :(:%(Neg(Succ(Succ(x1))), x2), x3))
new_groupByZs0(:%(Pos(Succ(Succ(Zero))), Pos(Zero)), :(:%(Pos(Succ(Succ(Zero))), Neg(Zero)), x0))
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Zero)))), :(:%(Neg(Zero), Pos(Succ(Succ(Zero)))), x0))
new_groupByZs0(:%(Pos(Zero), Pos(Zero)), :(:%(Pos(Zero), Pos(Succ(x0))), x1))
new_groupByZs0140(x0, x1)
new_span2Zs46(x0, x1, [])
new_groupByZs0(:%(Pos(Succ(x0)), x1), :(:%(Neg(x2), x3), x4))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), x1))
new_span2Zs37(:(x0, x1))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(x0)))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x1))
new_span2Ys23(x0, [])
new_groupByZs0(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), :(:%(Pos(Zero), Pos(Succ(Succ(Succ(Zero))))), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Zero))), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(x0)))), x1))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), :(:%(Pos(Succ(Succ(Succ(Zero)))), Pos(Zero)), x0))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Zero))), :(:%(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(x0)))), x1))
new_groupByZs0(:%(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(x0))), :(:%(Neg(Succ(Succ(Succ(Zero)))), Pos(x1)), x2))
new_span2Zs32(:(x0, x1))
new_groupByZs099(x0, x1, x2, x3, x4)
new_groupByZs0(:%(Neg(Zero), Pos(Succ(Succ(x0)))), :(:%(Pos(Zero), Pos(Succ(Zero))), x1))
new_asAs1(x0, x1)
new_groupByZs048(x0, x1, x2)
new_esEs(:%(Neg(Zero), x0), :%(Pos(Succ(x1)), x2))
new_esEs(:%(Pos(Zero), x0), :%(Neg(Succ(x1)), x2))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), x1))
new_groupByZs0(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), :(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), x0))
new_groupByZs0(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Zero)), :(:%(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(x0))), x1))
new_groupByZs0(:%(Pos(Zero), Neg(Succ(Succ(Succ(Succ(Zero)))))), :(:%(Neg(Zero), Neg(Succ(Succ(Succ(Succ(Succ(x0))))))), x1))
new_groupByZs018(x0, x1, x2, x3, x4)

We have to consider all minimal (P,Q,R)-chains.
The TRS P is empty. Hence, there is no (P,Q,R) chain.